It's a mix of reasons. Some people are under trained. Sure they run, but you can look through those blogs and see they've never gotten past 6-8 miles. Some think "Oh, it won't be that much worse." or have a list of excuses as to why they couldn't train more. I trained to 10 miles and I'll tell you, while I finished in pretty decent time, I still feel I was under trained. The last 2 miles or so were killer, I was mentally and physically drained. Weather conditions didn't help.
But that's certainly not the case for everyone who didn't finish. Many got injured, or came in injured. Things can happen right before the race, when it's too late to defer. I got hurt about 3-4 weeks out. I was in major pain during the half, I took quite a bit of OTC pain killers before and during the race(which was a huge no-no) and I was visibly limping across the finish. My injury wasn't serious though. For others it can be. Injuries also happen on the course. Plus, the weather was pretty rough and I saw many people along the way, overheated and on the ground, with the medics. This can happen especially because Feb is still winter, and people coming from up north are used to training in very cold weather, so their body isn't ready for that shock.
But to answer your question, 300+ days is more than enough time to train. But even if you give yourself time to train, you actually have to train. I saw people along the way saying they couldn't train because they worked, or had kids, or got sick, or life got in the way. Well I have 3 kids(who got sick this winter, as did I), I have a job, I run my house, I deal with life, and I made the decision to train like I should, so I succeeded. It just depends what kind of mental barriers you allow yourself to be stopped by.