The idea of FreeBSD is to be a self-contained and complete operating system, IOW, without installing any ports, it should be fully functional, and this is a good thing.
This definitely includes an editor and a shell providing some more features than plain /bin/sh. I'm personally not so sure about an MTA. And of course, you can always have an argument over which editor/shell/... you bundle. I'm not a fan of C shells either.
But then, FreeBSD is highly configurable as well. In my own build, I disable tcsh, sendmail and a bunch of other things. In the future, with "packaged base", you'll be able to leave out components without building yourself. Anyways, you'll never see a FreeBSD base release that needs any port to do any administrative or recovery task, and again, this is a good thing. It's one of the things making FreeBSD more valuable for me over e.g. a typical Linux distribution.