The pros are that you can adjust the phone to hit your exact needs in ways you normally can't, including a few apps you normally couldn't run.
Example of this include:
wireless tethering,
overclocking,
change out stock keyboard,
some 2.1 features not included on the hero like possibly
live wallpapers (although I don't use them)
friend stream on some roms.
If you end up hating sense and preferring stock android, there are roms that rip it out of the phone as well.
The cons... well aren't many. But there is one need to be mentioned con.
The possibility of instability. Sometimes a rom isn't made well. Or sometimes it is, but a new feature is added and that skews everything for some reason the developer couldn't predict. For some reason not every hero seems the same, and they do well in some cases, while not in others while someone else's hero has completely different results.
I liken it to messing around with cars. You can add custom mufflers, a tweaked engine, and etc. But it means alot of fiddling to find the exact balance that gives you what you want but keeps your phone stable.
I don't want to discourage rooting, I'm really glad I did it. But if you just want to be able to use your hero and never have to mess with it, stay stock.
On the other hand, if you don't mind fiddling with things, and want to get the most out of your hero, then root. Follow the guides here, ask questions, and I'll repeat that, ask questions. The people here are great for helping out on that.
I personally suggest the roms made by Breezy on this forum (I use Iced Honeybun with friendstream). They are very close in look and feel to what the hero comes with, while adding wonderful features that didn't come with... and it's more stable on my phone than any other rom I've used.
Don't be afraid to shop around though, there are some great roms here and at the xda forums.