Every distro and shell has a different collection of commands vs builtin shell functions. Generally the idea is that shells build-in the most common and simple functions to save time, speed, and integrate will with the rest of their feature set. The overhead is much lower since it doesn't have to launch another system process. However it is possible to mix and match. You might run one shell that has a buildin for something, but have that command on your system too. Usually the builtin would take priority, but you could control that.
You can easily find out whether a specific command is a builtin or not by running whichtype mycommand. Most shell man pages also have a list of their builtins.
Edit: Use type to find out whether a command is a builtin, and if not which to learn where it will be executed from.