I think that one problem is that you are chucked out of the hospital in many cases before your milk comes in. The private hospital I delivered in had a "5 day stay", but DD was born at 9:10pm and I didn't get up to the ward until 11:30 - and that was counted as day one, and you leave at 11 am on day 5. My milk had only just started then. I managed to BF successfully for 7 months (until DD refused) but I think it was just luck and persistance on my part...