Once my daugter missed the retrun leg of her easyjet flight from Basel to Ams. The lady at Swiss sold my daughter the cheapest possible return ticket telling her she would cancel the return leg after take-off but saving her (me actually!) over €300.
On several of my return long haul flights I’ve gone straight through to train and taken the rail back to Lugano. This has usually been because of the weather (I don’t like bumpy flights, especially in a small plane) but I’ve never had to pay a fare difference.
On another occasion flying ZRH LHR CPT LHR ZRH with BA, I decided to stay in London at the last moment then fly to Milan a few days later. In CPT I was checked through to London without problem and was never asked the difference.
Funnily enough, sometimes the miles were credited, and sometimes they were not. It seems arbitrary.