Are custom ROMs really required? Are there any specific advantages of using custom ROMs? I am using a stock ROM and removed all the bloatware. I tried few tweaks in build.prop and init.d and use greenify for better RAM and battery management. Other than the custom UI is there any real advantage of custom ROMs over stock ROMs?
Well there are many advantages of using custom ROMs. Just removing bloatware from your phone doesn't make your stock ROM a custom ROM. Custom ROMs like their name, are based on "custom" code and are not based on the ROMs made by the manufacturer. There are many custom ROMs that change the base-band of your phone which in turn improves the overall signal quality. Some custom ROMs also adjust the CPU speed of your phone so that you get better battery life without impacting the battery life.

Also, custom ROMs generally give you a chance to use the newest version of Android, even before a manufacturer gives you an official release. This proves to be quite beneficial for older devices as a manufacturer tend to forget their old devices. 

Just like their good points, custom ROMs have a few drawbacks too. They void warranty when you install it on your phone. Also many ROMs that are released may contain bugs too which will cause issues for the user.

Finally, it mostly comes to personal preference. Many people want that extra bit from their phone and end up installing custom ROMs whereas many are happy with how their phones are out of the box and stick with stock ROMs. 

EDIT:  I went through a few more sites, it seems one can't overclock on a stock kernel(found in a stock ROM). You can only underclock on a stock ROM. But anyways my main point of the answer was not only speed. Yes most of what a custom ROM does can be done on custom ROM too but rather than spend so much making so many small tweaks it's best to install a custom ROM that already has all tweaks done out of the box.