One of the things I've noticed on the forum over the years is a significant split in opinions of those posters who are also programmers.
One group: "Bugs would never be allowed where I work. Frontier should do something different."
Other group: "An app of this complexity has so many interacting bits it's a miracle it works at all"
I don't really have any hypotheses as to what leads a programmer into one group or the other.
"Bugs would never be allowed where I work" is mostly critical systems guys, and even then they are a bit hypocritical (although to be fair, those systems are best designed software systems on planet, and they have very strict QA requirements). I have seen lots of bugs in these systems, they aren't nothing new. However there's important catch - most of users of those systems are TRAINED to manage them. Thus if there are bugs or shortcomings, they are INSTRUCTED how to act in those situations.
There's no such luck for games. Heck, you can't even assume people will read manuals or view instructions because of course they won't.
As for ED being complex...well, it is. It might be even more complex than let's say nuclear reaction simulation software. It is important to understand not to mix up complex gameplay AND complex code, because complex code doesn't automatically imply gameplay will be complex. In fact, 'hiding' part of decisions made by code is way more complex than actually giving raw access to player. Because balancing, and getting nice gameplay experience for majority of players is nearly impossible to get right 100%.
Due of hundreds of thousands of players interactions and playstyle preferences it turns into complex beast you can ever have as IT project.