As a developer I think you (and many others) seriously underestimate the time, money, and all the other externalities involved.
You seem to be confusing the issue.
The ROM is the game code. "Line-10: Draw Mega Man; Line-20: if A=1 then Jump, Line-30: if B=1 then Shoot, Line-40: goto 10." Stuff like that. Capcom wrote it and compiled it all those years ago to press a NES ROM, and like a published book, that's the game, to be read by the machine and translated electronically into "fun" on your TV.
Generally, when you put out a classic game, you do not touch the game code at all. You sometimes see the title screen changed for amending the rights of ownership (they change the text displayed to list the new year and company of copyright) and sometimes you see sprites or tiles or text or textures changed a bit because of some issue of copyright or standards, but not much past that. You don't want to monkey with game code once it's been finalized (unless you're modifying it on the fly with a patch or emulator MOD), as game code can be finnicky, and you probably wouldn't fix technical problems on an old NES game at the ROM level anyway since it was made to run that way because that's what the machine (and the machine you're emulating) can do.
So then, when you take that game and play it on a different type of machine, you need a reader, so to speak, to play it and make it work the way it would on an old machine using the new machine. That reader is the emulator software, and THAT is where the work goes in for a development team like Digital Eclipse. (They also put in a lot of work, like I said, adding bonus content and porting the emulator application and verifying rights and all that worky stuff... why you questioning me, BTW, I said exactly that about it taking time and money to put out old games professionally.) The emulator allows them to change how some things in the game code are read/displayed (to the potential detriment of the experience, so they're careful about how far they go on that end), determine what filters are used to render the graphics, add features like rewind and save-state, etc.
Still all the same exact game code as 30 years ago, just like a book on your Kindle is always the same number of words, but with an additional software layer, you can have bookmarks and bigger fonts and highighted text and stuff like that.