Because the specs just for parsing out the headers, body, attachments, etc. are fiendishly complicated. Think all sorts of indefinitely nested recursive data structures that have no fixed order.
But that's the easy part. The hard part is that there is no spec at all that governs what actually goes inside the body of a message. The easiest way to explain is by way of analogy:
Imagine that you've never left your village and know nothing of the outside world, but are tasked with building a car capable of circumnavigating the globe.
So you start out by building the first version of your car that can drive on your village's streets successfully. So far, so good, you think you've solved the problem and assume it will just keep working. But as soon as you get outside your village you see that the roads are no longer paved, so the car quickly breaks down. So you go back and build a new car that can also drive on gravel roads, and set out again. And this works well enough until there stops being roads at all. So now you go back and build a third car that can handle paved roads, dirt roads, and off roading. And this works for a while until you encounter sand... And water... And -100 degree cold... And 10,000 degree heat... And zero oxygen... And people start shooting at you. Etc.
And of course if you're not very careful then the time required to build each new version of the car will increase exponentially, since you need to make sure it still works equally well on all of the previous terrain you solved for.
This is basically email parsing in a nutshell. It's also why you keep seeing these companies get bought out for tens or hundreds of millions of dollars without many users, and sometimes without having even launched anything. Because email is by for the world's largest source of human knowledge so it's a very valuable domain to be able to work with, but only a handful of people really have the expertise.