I have been painting and cleaning up the bilge and engine room areas for a while now and still not done. I can tell you that just like painting a room in the house, it can have a very satisfying result. Not only is it clean and pretty to look at, but you're more likely to spot a problem, whether it be an oil/fuel leak, water leak, etc. when its clean.
When I re-powered this Spring I painted everything I could while the old engine was out, including sanding and painting the engine bed. To a somewhat obsessive degree that I even painted where it would be covered by sound/heat insulation
Its true you need to be sure to prep well first. Because the boat was on the hard, I placed a bucket on the ground to catch and harmful chemicals that the bilge pump discharged when I rinsed it down, then discarded of it properly. I don't think this would be as easily done if on the water? Everything was wiped down with acetone IIRCC prior to paint.
As far as paints and application; I used Interlux Bilgekote (grey) and rolled it on for most of it using a 4" roller, cutting in areas with a brush first. In areas low in the bilge where water may settle I used Interlux 2 part Barrier Coat (grey)(yup, I always have about 1 cup of water in the bilge/pump area for several reasons). For the engine bed I think I used a heat resistant spray paint (white) from a local hardware store that would adhere to FG.
I have pictures somewhere but cant find the before and after shots, sorry.