You forgot about option #3: Forget about frameworks and write the actual code that you need.
I have found that the overhead of understanding Frameworks generally outweighs their usefulness. I'm sure there are exceptions, but I have not found them yet personally. Many people use frameworks to do things that are absolutely trivial and I just do not get it. Generally, the requirements I see NEVER map to something that's out there exactly. If you can program, you just write what you need and it always works, it's fast, and probably most importantly you understand it completely.
Also, I totally disagree with the point that "Machines today are fast". I mean, obviously yes machines today are fast. But, in particular if you are writing a server side app, it's very easy to write something that does not scale. I have seen an app that used a lot of libraries and frameworks, etc that ran SO slow that could only process something like 1 request every 5 seconds. The same app was re-written (without using any libraries or frameworks at all) to be able to support tens of thousands of requests per second on the same physical server. Needless to say the guy who wrote the original app was fired and the guy who wrote the thing that supported 10s of thousands of requests per second got praise/bonuses/etc. The key to this kind of improvement was using the correct algorithms and data structures. When you just stitch whatever is free together you are rarely able to optimize things in such a way and you typically end up with a VERY slow app. I realize that not everyone is working on complex server side apps that need to scale, but even on front end apps, why make your app slower, lose the understanding of what you're doing, and understand some complex frameworks when you can actually write your own code in maybe less time? I mean, isn't this why so many apps are so slow. Every time i use an app that doesn't run instantly, I think about this concept. If everyone has this attitude that hardware is fast, then why do we all experience slow apps? It's because developer A thinks it's ok to reuse slow bloated code and it's still fast enough, but then developer B adds in a new feature that slows it down a bit more and uses a slow framework, then developer C adds in some other feature that slows things down further and in the end your code gets so bloated that even these really awsome machines can't run them in a way that the user expects.