It won’t be necessary to build a custom image if you can download the package from the web, AlexT has a great repository with instructions to download packages from it. You can check it here: http://alextgalileo.altervista.org/package-repo-configuration-instructions.html.
Regarding your last question, there are some different reasons to compile a custom kernel. For example, if you want to replace an existing driver. That’s just one of many reasons, I would suggest you to check this article for more information http://www.makeuseof.com/tag/3-reasons-compile-kernel-linux/.