I used them in May to book my Vegas trip. Expedia and them were both running the same promotion - book 2 nights, get the third free. However, expedia was giving me the Thursday night free, and having me pay for the Friday and Saturday. Hotels.ca gave me the Saturday night free - which was like 140 dollars compared to the 50 dollar Thursday night - so I booked through them.
There was no booking fee, the exchange rate was EXACTLY what it was on xe.com - so no stupid mark up, and the cancelation was 72 hours before arrival.
4 days before my trip, my hotel came up cheaper - so I rebooked, and then canceled my original reservation - no problems what so ever. When you cancel it says you may have to wait up to 30 days for the refund to show up on your card - it took maybe 3 days???
When I checked into the hotel - everything was fine - no problems at all.
HTH!