Premium linear channels in the US (think HBO) do this as well. It's an artifact of programming blocks -- you want your movie/show/sport/etc. to start on the hour or half-hour, but the thing before it rarely will end when you want it to (a few seconds of slack time to switch to the next item). If you have some small-enough unit of time left between the end of the movie and the start of the next slot, you either commission a bunch of micro-length shorts or you run internal promos to fill the gap.
I wouldn’t really call the intermission an ad break as they’re not really trying to sell you something. The main purpose is as a buffer between shows with slightly different timings or with live shows that won’t finish at an exact time (or may overrun like sports matches). You get the same on the radio too though they often have a short news briefing in the gap as well. Very occasionally they will have too large a gap to fill and read a poem.
I think their point is that shows that were produced with ads in mind simply play through with no gaps (similar to how ad-free streaming services play them).
How do they schedule the shows to account for the odd lengths?
> How do they schedule the shows to account for the odd lengths?
Certainly up through the 90s the 'big ticket' and imported shows started on the hour or :30 and everything else slotted around that. Secondary programmes often started at :50 or :15 as a result.
Between shows, they have a short ad break advertising other BBC shows and live broadcasts that will be playing at a later time, but nothing paid.