The show never explicitly says why, and neither do any of the Star Trek sites I checked. Other people who asked this same question are treated to a rehash of the events without an explanation, typically siting the observation O'Brien made about it in DS9's "Trials and Tribblations."
The best explanation I could find was a musing on moviemistakes.com. I can't vouch for the accuracy, but I think it's pretty plausible.
When ST:TNG went into production, television had changed drastically from the time the original series aired in the 1960s. Not only were special effects far more advanced, but editing, camera angles, set design, lighting, color schemes, types of film used, and so on, were all very different. It was likely a decision of what looked best from an artistic-design point-of-view to give the series a fresh, updated look as well as to reflect how much Star Fleet had changed since Captain James T. Kirk's time. Red is also a very prominent color, and it draws the viewer's eye to it, and to the character wearing it. Therefore, that became the command color.
Memory Alpha's also a great resource for most ST questions. Here's a nice timeline of uniform colors:
http://en.memory-alpha.org/wiki/Starfleet_uniform
Me, I like the late 90's uniform design, the ones they had in First Contact and the last season of DS9.