Software is tough. GUI software is even harder because users can break threads and start doing something else pretty much at will. Web facing software is even tougher because it's GUI done on a limited, unreliable and obtuse framework often with ridiculous latency issues. Moreover simple designs that might work someday are almost always rejected in favor of glitzy stuff that all to often doesn't really work very well ever. And we haven't addressed security/privacy which makes things orders of magnitude harder and might be a significant issue in tax software.
But doesn't anybody test anything anymore?
Projects being months or years late is pretty much the norm. And has been ever since the dawn of the computer age. But why is so much stuff released when it's clearly broken?