Есть cerr, но это не то же самое, что cout. Он предназначен для вывода ошибок.
Что касается стандартных потоков, то есть разные способы доступа к ним (например, используя stdout / stderr как дескрипторы файлов для fwrite), но в конце дня их всего 2:
stdout - предназначен для стандартного вывода. Состояние программы, полезные данные и прочее.
stderr - Предназначен для вывода описания ошибок. Часто также используется для отладки данных.
Иногда фактический вывод будет сделан на stdout, а прогресс или отладка связаны с выводом на stderr. Таким образом, пользователь может направить стандартный вывод в файл и оставить стандартный вывод на консоль. Это позволяет им как собирать нужную информацию, так и видеть прогресс и все такое.