This is true (something like junegunn's fzf is even faster than either), but I think the tradeoff is between performance and consistency of interface. Unite can provide the same interactions for recent files, buffers, file navigation, grep results, etc.
You can do this with ctrlp too. The standard sources are files, buffer, and MRU files, but it comes with extensions for things like the quickfix list (grep results), tags, and scripts in the runtime path. You can also write your own: https://github.com/kien/ctrlp.vim/tree/extensions