Потому, что \n осуществляет перевод на новую строку, а \b на неё уже не может вернуться и что-либо перетереть - он ограничен своей строкой.
У тебя без \n текст word просто переписывает приглашение командной строки.
Похоже, такой код делает, что тебе нужно:
#include <iostream>
int main() {
std::cout << "word" << "\b\b\b\b \n";
return 0;
}
После финального \b стоит 4 пробела (они перетрут текст), а потом \n переведёт курсор на новую строку.
И на этой новой строке уже интерпретатор выдаст приглашение ничего не переписав.