Someone can perhaps explain the math, but as I understand it, the battery draw on startup is pretty high and idle and/or very short trips sometimes don't make up for this. I'm no longer driving any kind of distance so have resorted to extending the journey for shopping and leaving the car running at idle where possible in between journeys.
Battery went flat on my discovery a few weeks ago because I was pratting around with it. Jump started it and left it for just over an hour to run at idle.
Started up first flick on a very cold morning the next day, so the battery must have had a decent charge in that time.