I have a mate who works in a pub and he commented that in order to keep bars open a couple of extra hours at the end of the night, the have to pay staff time and a half or double. Some establishments also have to lay on cabs for staff because public transport has finished.
However, in those last couple of hours, people are drinking considerably less because:
a) they're already very drunk
b) they can't walk to the bar to buy drinks because of a)
c) they're concerned about missing their last bus/train
...so in financial terms, in some cases, it's not worth their while to stay open later.