Well XDA Developers forum is going to be your best bet for information. Rooting and Rom's are kind of two separate things - root is going to get you access to run more apps and load roms, custom themes, etc. Depending on the device it can be as simple as a single app you load and run that provides root access, or sometimes you have to run apps / commands / etc through the command line using the Android SDK. I'd try and find some info on XDA around what is available for your specific phone, usually a phone will have its own section and often instructions for rooting. Make sure you read a TON and fully understand what version of Android OS you are on, make sure what you are trying to load is compatible with that version, etc. Sometimes you can only root certain versions, or if you flash to a newer version you can't go back, etc.
As for ROMs, sometimes they will unlock hidden features or functionality, improve performance or battery life (or both), etc. I ran a few on mine till I settled on one that seemed to offer decent asthetics as well as performance / features. Main reason I rooted was to be able to run apps I otherwise couldnt run (like mobile hot spot apps).
I think there is another thread around here with good app idears.