The usual remedy for things like this is
stty sane
The `stty -echo` should not have made this worse, as that just turns off echoing of input, and you already had that.
The fact that you say returns just causes `>` to appear means that you've started somethng that is causing continuance over the next lines, e.g. `echo '` will do that because it's waiting for the closing `'` to terminate the string. Other things will cause this as well, such as `if something`; it's waiting for the `then ... fi` part.
You could probably have hit `ctrl`-`c` at that stage to stop it waiting for the rest of the command, unless the terminal was so messed up that interrupts were also not being generated.