ROM - The name given to software on embedded devices (mobile phones, for the most part). "Flashing" a ROM means that you install that software on your device.
Joan, basically, its like installing a different OS on the phone. For ex: your PC came originally with Windows Vista but you formatted it and installed Ubuntu.
Check this site: http://forum.xda-developers.com/
Here you can find lots of custom ROMS for your phone.