Программы в буквальном смысле - да. Программы в понимании юзера - нет. Си это чемпион скорости и надежности, поэтому обычно используется в системном программировании, и для оптимизаций (так как быстрее и портативнее его, только ассемблер). Но он плохо подходит для быстрой разработки комплексного софта, особенно с гуем - для таких целей используются уже более медленные и жирные высокоуровневые языки (чем выше уровень абстракции языка, тем он "тупее" - тем быстрее и проще на нем писать, и тем ниже его скорость и надежность, соответственно). Самый простой пример использования Си в прикладном софте - это библиотеки для тяжелых/объемных вычислений, а также для прямой работы с устройствами. Если из жизни: на прошлой работе я участвовал в тестировании программы для восстановления файлов (аналог Recuva) - сигнатурный поиск в ней был написан на Си.