I think its more of a personal preference thing than a functional requirement. I undercoated mine because I wanted to seal the underside of the fiberglass to help prevent anything kicked up or otherwise from attacking the underside of the fiberglass and coming through under the paint - I liked it blacked out - and I don't like to hear small stones pinging off of the wheel well panels as I drive. Battery acid, AC unit
oil, and brake fluid can all attack fiberglass from the underside and bubble paint. Owners of older Corvette know about this problem. Undercoating isn't probably the best sealer against it but it will stop some stuff and slow the rest of it down. Painting the underside will do the same thing somewhat - depending on the type paint.