Hmmm... dissenting opinion here. Had to stop reading after a quick browse. Too much expectation of everything being perfect (or at least, perfect according to the poster), and some selective analysis. Yes, "frameworks" might be considered lazy, and give a lot more than is normally used. However, something purpose built from the ground up will more than likely need updating or maintenance; for complicated ones that leads to abandonware. If every programmer takes the time to make their own "framework" they'll not only have much less time to work on the *actual* program, but there will be huge variances between program operation (right-click vs. left-click, for example). There *is* a valid reason why frameworks like DirectX came to be.
That's not an argument for programmers being lazy though. Hack'n'slash/copy-paste code writing should be avoided. Those writing code should understand what they are trying to achieve, rather than getting others to do the legwork for them then proclaiming how awesome they are.