Eahat's the terminal supposed to do with nothing running in it anymore?
That was a rather creative typo for "What" at the start of that question. :)
Exec has the same impact on the shell as exit - shell go bye bye - it just leaves another program in its place.
In your tests, that other program is echo. Since that's a builtin, things are a little different. In bash or ksh, exec only works on external programs, so if you type exec echo, you'll be running /bin/echo or /usr/bin/echo (or wherever the binary lives) instead of the shell builtin. But in Zsh, exec'ed builtins are still builtins; the shell simulates the effect of exec by exiting after it executes the builtin command. So exec echo whatever is just a shorter way of writing echo whatever; exit.
But if you exec an external program that takes a while to run, say exec sleep 300, then you can run ps in another window and see that the shell from which you launched the sleep is no longer there; the sleep has replaced it. In fact, you can see that the process ID formerly belonging to it has been taken over:
Window 1: