Ну и самая большая их проблема — отсутствие счётчика длины строки. Из-за этого некоторые в некоторых продуктах (например, nginx), сделаны собственные строки, которые состоят из структуры указатель + счётчик, ну и собственный набор функций для работы с такими строками. Конкретно в примере из статьи это решило бы проблему с важностью порядка сравнения строк.
Вы правы. В данном случае результат будет одинаков, так как символ = char. Но если предположить, что строки могут быть в Unicode или ещё каком формате, то следует предпочитать функции, явно предназначенные для работы со строками. Как я понимаю, сравнение не будет продолжаться при нахождении заверщающего байта 0x00. А сами что сразу не пояснили, в чём разница?
По мотивам «Обрабатываем строки на Arduino»