This is a bit of a weird one. If I start
reset often works, but is not a panacea. For this case, only the terminal echo was disabled. Other programs may modify the handling of carriage return, making it awkward to type "reset" (you can do that, but would have to type controlJ to end the line).
In other cases, because
reset relies upon the terminal description, it may not reset everything. Particular troublespots are (a) alternate character sets and (b) changes to the terminal's color palette.
ncurseshas many terminal descriptions which do reset the alternate character set, it is a common problem on Unix systems to not do this.
resethas no way to revert those to a default palette.
Aside from the terminal description part,
reset performs a function similar to