If you think all the NSA could do with extra information is add more "hay" you're not thinking creatively enough.
For example, if you had a system that could scour through essentially infinite amounts of hay and be able to spit out each brown needle that passed through (think keyword filters), then definitely you'd want all the hay you could find, and then even more hay. Of course, keyword filters are fairly easy to avoid if you know they're there, so perhaps we'd call that a wash or even negative overall, as all the false positives make it impossible to be selective to the actual needles.
But there's another use for hay, quite brilliantly demonstrated in Iraq (or maybe it was Afghanistan, or even both, I forget). The idea was that some roads were more likely to have IEDs emplaced than others. So what the Army eventually did was to blanket the area with drones and record along those roads, trails leading to the roads from the nearby cities, etc.
When an IED inevitably exploded, they would go back to the tapes, rewind them until they found the bomber. Keep rewinding (tracking on different feeds if necessary) all the way back to the staging point. Rewind further, all the way back to the cell's meeting site, and the bomber's home.
Repeat this for enough IEDs and you have a picture of where the cell assembles, where they stage out of, who they visit for support, etc.
And then you send teams in all at once to detain that cell, get more intel to piece together what they can of the rest of the network.
The sad reality is that you cannot prevent all terrorism from ever happening, but if you can "play back" a person's interaction with foreign agents you can use that to bootstrap intelligence seeding on that foreign agents other contacts within the U.S. to root out that terror network before they strike again.
Doing all of this requires a lot of hay. Obviously there is a very large risk to civil liberties in the wrong hands if that system is simply left as-is, but it is at least possible to put procedural, legal, and technical safeguards if the people decide that kind of system is worthwhile.
The other part of the article I was disappointed about was the mention of how the NSA (of all agencies) failed to prevent the Boston marathon bombing. Responsibility for domestic antiterrorism would properly fall with the FBI. Tamerlan Tsarnaev was a permanent resident, Dzhokhar Tsarnaev was a naturalized citizen. All indications that I've heard were that Tamerlan essentially self-radicalized (possibly while abroad). Unless one thinks that the NSA is able to read minds of people in Chechnya I'm not sure what the author thinks could have been done.
Russia did warn the FBI (again, not the NSA), that much is true. But in our land of the rule of law, we don't arrest people just because Putin said that they are unreliables. It is unclear exactly how many people Russia have 'warned' the FBI about anyways, or what their criteria are for making those warnings.
But either way, blaming the NSA for missing an attack by domestic terrorists is almost completely missing the point of why we have the NSA, CIA, and FBI all as different agencies. As far as I'm aware no one from any of those agencies has ever claimed that systems as strong as PRISM or even 641A-type arrangements would 100% prevent terrorism, just like our police don't claim to be able to 100% prevent crime.
That doesn't mean that we should simply never try to prevent terrorist attacks from occurring, just as it doesn't mean it's a good idea to fire all the police. You have to evaluate the risk/reward and ROI of each program, keeping in mind that some things are hard to measure in dollars.
For instance, keeping terrorism from becoming so prevalent that the people act for the police state we all want to prevent is a pretty big motivator by itself.