ROM and firmware are the same: the read-only memory of your mobile. It contains Google’s Android operating system, properly adapted and configured to work with the specific hardware of each mobile phone.
The operating system is located in a read-only memory area for two reasons: to avoid accidentally damaging it – for example, by overwriting files – and so that you remain faithful to the small modifications and integrated applications that manufacturers usually include in their Models.
Being an open source operating system, luckily, Android allows all kinds of modifications. In addition to the official ROMs, it is very common to find ROMs made by groups of volunteers and enthusiasts who take the base code and add or remove features or skins. Even you can create your own. You can find the best custom ROMs online easily.
And why should I change ROM?
For the same reason you changed your mobile, whatever it was. Some people need more performance, who wants to upgrade the operating system to a higher version without waiting for the official update and who wants to renew the appearance of their mobile or simply try new things.