There are many reasons to rebuild the kernel yourself:
1.- embedded devices with really limited ram and storage space
2.- need for a custom initrd
3.- need for a non-official patch, for example, to add hardware support or to test an experimental feature (for example, people who like reiser4).
4.- need to make some minor changes yourself
5.- if you are using a non-binary distro, like Gentoo
Those are just a few I thought in one second. For sure, there are many hundreds of additional reasons.