a governing party won't often win a mid-term by election. plus labour fielded a locally-living candidate, and fought the election on local issues. they should have aced it, but they didn't. goals count, so they held the seat - but they didn't "win" it. the result represented a 2.9% swing away from labour and if repeated at a GE, would result in labour losing 11 seats.
all the analysis articles in the media today are saying there are too many factors to say why it ended as it did.
(for instance if George Galloway hadn't stood, there's no saying labour would have got 8000 extra votes - not all south asians vote labour, and the "tactical" voters in the lib-dem leaning areas may have stuck with their own party.)
but they all agree labour should have done better, and a 300 vote majority should give them cause for concern.