I don't know how Skate Canada does things, but I would guess it's similar to how USFS does.
They reserve a block of rooms in an official host hotel, which competitors are encouraged to use. The competitors (or competitors' parents, in most cases) pay for their own rooms and other expenses. They also pay for their coaches' expenses. (And some coaches also want to be paid for all the lessons that they usually teach other skaters every week but will have to miss while they're out of town at the competition)
Don't you think the coaches want to be paid even though they wouldn't miss any lessons to be given to other skaters? This is the time they could have spent with their family and done the housework.
Figure skating is indeed money-losing business. That's why I try to watch as much as I can while it still exits!