UX is the biggest debt.
You're making application for yourself and somewhere down pipeline you decide that it could benefit others, so you make it open-source.
People growl at you "It's ugly UX but nice features" when it was originally designed for your own tastes. The latter, people growl at you for "not having X feature, but nice UX".
Your own personal design isn't one-fits-all and designing mocks takes effort. Mental strain and stress; pleasing folks is hard. You now continue developing and redesign the foundations.
A theming engine you think. This becomes top-priority as integration of such becomes a PITA when trying to couple it with future features later.
That itself becomes a black hole in how & schematics. So now you're forever doomed in creating something you never desired for the people who will probably never use it. This causes your project to fail but at least you have multiple revisions of the theming engine. Or you strike it lucky and gain a volunteer.