Yes, I believe the price. You know, a plumber did a job for a Doctor, when the plumber presented the bill the Dr said "My God, I don't even make that much", to which the plumber answered, "that is why I'm no longer a Doctor".
All kidding aside though, $400 is a terrible high price for 2 hours work. As far as the price of the water heater; it sounds high also but it may be an extra high efficency water heater with a 10 year warranty. If it is not, you need to get a homeowner's permit and a water heater from Home Depot.