Each London bus has a head and a tail: the head is the front of the bus, where the front door and driver's cab is, the tail is the rear.
At headstops drivers have to position the head of their buses next to the bus stop flag (the pole which has the TfL bus logo, stop name, route numbers and timetables on). That's because there is something in front of the flag which would be obstructed if the bus stopped there - even if the shelter where passengers wait is also in front of it.
At tailstops, the opposite occurs and drivers have to position the tail of their buses next to the bus stop flag. Something would be obstructed if the driver stopped behind the flag.
At all other bus stops (the overwhelming majority), drivers stop where they think it is safe to do so or where the 'BUS STOP' road markings on the road suggest they should.
The most common locations you find headstops and tailstops are in highly residential suburban areas in Outer London where buses travel along long roads of terraced housing. Many of these houses have driveways so TfL has to effectively position bus stops where there is a gap in the houses, not where is actually most convenient. In order to prevent accidents occurring when residents reverse out from their driveways or to stop them blocking the road when trying to pull into their driveways, the stops become headstops or tailstops. Other examples include where there are road junctions either side of the stop and road crossings.
Yes it is odd as behind me in the photo there is a large stretch maybe 4/5 car lengths with no driveways so I wondered why the stop isn’t there insteadIt would appear that a bus driver calling at the stop in the picture would have no option but to block the entrance furthest from the camera, but it looks unofficial so the homeowner would have no basis for a complaint.