From my knowledge, the reason they went to white home originally is because it was easier to wash the "dark" sweaters on the road than the whites. Then they switched back to dark home/white away because once the league adopted the 3rds, it was found that it makes the most marketing sense to wear the 3rds at home, and limiting the color choices to just white for the base would be rather limiting.
Personally, I like darks at home. I find white a very boring and inane color, so we might as well let the visitors look lame. and us in our classic red indianhead sweaters, which IMHO look better than the whites (even though our whites look better than most other teams' sweaters.
However, the whole dark vs. light was, to my knowledge, adopted because it gave more of a contrast on B&W TV for all sports (it's also to my knowledge why there is a patteren in the center red line--to give a visual cue that it is the center line on a B&W TV). Now, considering that an incredible minority of people nowadays have strict B&W TV's (Especially in this HD age), I think Hockey should do what MLS Soccer does. You have a primary and a secondary uniform of any color combination the team chooses--as long as the secondary is nothing like the primary. You wear the primary unless you color is remotely close to the home team's choice uniform. That way, if we were playl, say St. Louis or Vancouver, they could be in their "home" blues and we could be in our "home" reds. But, if we played a team like the Red Wings or the Flames, one of the teams would wear the whites.