All of the above -
the difference between running light and in service - as well as costing a few minutes on the driver's paid time (which may be offset by a few additional fares, or may just abstract revenue from the regular service) might make the difference between the duty fitting in drivers' hours rules / local agreement or not
it also means that if service X changes then whatever service the depot is on needs changing as well, which means another service variation fee - although you might get away with service X running from A to B with occasional journeys extended to C (where the depot is)
it's awkward from a marketing point of view to have odd journeys running a few times a day - and can be delaying while drivers answer the 'I didn't know the number whatever came along this road' sort of thing.
also, as an example, Potteries (in the early 90s at least) had the traffic office / cash handling facilities at the bus stations not the garages at Hanley and Newcastle, so the driver would not have had a module in the ticket machine, and on journeys to the garage, would not have been able to pay in when they got there.
In the franchised environment that is London, TFL don't generally let it happen, as it will then change (and generate complaints) if the operator (and therefore garage) changes at re-tender, or if the operator moves the route from one garage to another. There used to be some quite lengthy garage journeys on London Buses, almost all of which ran in service. The longest I can immediately think of was route 70 which (at one time) ran Lewisham - Victoria, albeit via an indirect route. Garage journeys ran in service between New Cross garage and either end via the 36 route.