I, too had some service problems with Expedia, which may hint that business processes are tricky things.
I ordered a hotel in Vienna, Austria in the last minute (~24h before my arrival). When showing up at the hotel, they had no room for me. They claimed that they got the invitation from Expedia, and faxed them back a "no-room-available" response (I think they also showed me this fax).
Problem #1: You may want a reliable online reservation system if you deal with online reservations.
Problem #2: If #1 is not true, you better take out-of-band faxes seriously (such as, say, letting the customer know about it?), and handle offline confirmations.
The next funny thing was a 1-hour international call from the hotel (that kindly allowed me to use their phone) to Expedia's support center, somewhere in the US. For some reason I thought they would find me an alternative. I spent some wonderful time with various representatives, who didn't know that "Wien" is not a drink, but rather a city, in a country named "Austria". They were unable to see that the "Vienna woods" are quite wonderful, but rather distant from the Vienna convention center. And so forth - they seemed unable to perform some basic things that I would expect from a "super travel agency".
Problem #3: You need a decent knowledge system (computerized, human or both) that can back you up if something goes wrong.
End of story - the local hotel was able to find me a 1* alternative (the city was fully booked), using state-of-the-art technology (phone call to nearby hotels, the list was on the front desk). Expedia were so kind to cancel my booking and give me voucher compensation.