It's due to competition, and price discrimination. In highly competitive areas, other hotels will offer their rooms at a discount to Expedia/Travelocity/etc, to catch the market that visits these websites (due to the websites' marketing and reputation as being the place to go for online bookings). If a hotel doesn't offer their rooms on the third party websites, then they effectively lose those sales. I know some of the agreements will make it so that they can't advertise rooms at the rates given to travel agents, so that may be why you see it cheaper. Priceline has a different system, where each hotel provides three price levels, and if a person bids at or above a price level, then Priceline gets the difference between the price level and what the person bid.
At hotels that don't have problems selling rooms, they have no reason to offer rooms to travel agents, so you won't see any price discrepancies there. In fact, you probably won't even see the room offered on third party websites.
It make it look like a more expensive hotel. Much of the time, you can get them to match Expedia's price by asking. Think of it as price discrimination.
That's been my experience as well. The article claims it isn't true, but I know for sure it is, since I remember researching a particular hotel extensively -- I really wanted to stay there -- and Expedia was by far the lowest price. This was an overseas hotel, so I was not fond of calling them up and asking for a discount from somebody who might or might not speak English.