I'm specifically asking about FreeBSD. I am using the default /bin/csh as my shell. There is a binary version of echo at /bin/echo, and there is an echo command built into the shell. The system command lacks the ability to use System V style backslashed escape characters such as:
\n
\t
I want to be able to prefer the shell's builtin rather than the system command without making a temporary change to path or deleting /bin/echo.
Generally, your shell will prefer its own builtin over any external program. One notable gotcha in regards to this is when you've defined an alias for the command.