spoiler: obviousness ahead:
In Japan, Eggman is the de facto name. The only name. In the US/EU the name was localized to be Ivo Robotnik. Thankfully for Sega, the full name Eggman never made it into the Genesis games, so there was no need to alter code. The only work Sega had to do to establish Robotnik as a name was within the manuals. (remember, Amy Rose was Princess Sally and Earth was Mobius according to US manuals)
With the release of Sonic Adventure, it became a bit more difficult to use the name Robotnik without Eggman cropping up due to voice overs, lyrics, gameplay elements (the E-G-G-M-A-N password), etc. To work around this, the US/EU releases still referred to Robotnik in the english vocal tracks, but Eggman could not be completely wiped out. The solution? Retconning that it was a silly nickname Sonic has for Robotnik!
Then came SA2. With Sonic Team USA at the helm, Robotnik was used at the very start of development (rather than being implemented later for localization as was the case in SA1). The twist was that in SA2, Sonic Team retconned the inconsistency by saying "His name was Ivo "Eggman" Robotnik all along, and his grandfather is Gerald Robotnik! It's a nickname!" :D Of course, this is all BS. Outside of localization, Eggman is the ONLY name to exist in Sonic Team Japan's eyes up until SA2. Robotnik only made its way in when US devs were behind a Sonic game (Dr. Robotnik's Mean Bean Machine, Sonic Spinball). This isn't to say Sonic Team Japan hated the name Robotnik, it was just that Robotnik wasn't his name. It was a SoA idea, not theirs. Why was Sega of America so intent to keep the name Robotnik alive? Well, Sonic Underground was still airing at the time and the Archie Comics were rather strong. Maybe they still wanted some consistency across all the Sonic media.
Then came Sonic Heroes and Sega said "fuck it." Sonic X was the new cartoon on the block, and being Japanese made, Eggman was all over the place. Why spend the extra time trying to work in Robotnik when Eggman can just be THE name. Thus, heroes kicked off with Eggman (not Robotnik) writing Team Sonic a message and from then on out Eggman reigned supreme.
Of course, uberfans still debate that there was some sort of reason Robotnik changed his name, thinking perhaps he had issues with his granddaddy or that he went insane and adopted the same name that Sonic used to mock him. But really, that's all bull. The only motivation Robotnik had to change his name was Sega attempting to lessen the localization load and create a brand that is consistent in all countries. It's not character-driven, it's business.