Во-первых, поиск по id существенно быстрее.
Во-вторых, есть приложения (их все больше и больше), в которых элементы не имеют статического id.
Присваивать id всем элементам это очень хороший подход с точки зрения автоматизации тестирования, но часто это просто невозможно.