Philip Gordon and Richard Nephew have written  a very thorough and cogent defense of the nuclear deal with Iran:
In fact, the deal is doing exactly what is was supposed to do: prevent Iran from acquiring enough fissile material for a nuclear weapon, demonstrate to the Iranian public the benefits of cooperation with the international community, and buy time for potential changes in Iranian politics and foreign policy.
Anyone who thought a deal would immediately change Iran’s regional agenda or who maintains that, if only America and its partners had insisted on such changes in the talks they would have materialized, has a misguided sense of what sanctions and diplomatic pressure can accomplish.
Two years later, the Iran deal is a success. The U.S. and the rest of the P5+1 advanced the cause of nonproliferation and greatly reduced the risk of war with Iran over its nuclear program, and Iran has been and continues to be in compliance with the terms of the deal. It is instructive to look back at the debate over the nuclear deal in order to remember how shoddy the arguments against it were (and still are). Even before the deal was completed, some hard-liners in the U.S. were already likening it to appeasement at Munich , and at least one denounced  the interim agreement leading to the JCPOA as “worse than Munich.” These alarmist claims had nothing to do with the substance of the deal, and simply reflected the knee-jerk hostility of Iran hawks to any diplomatic engagement with Tehran regardless of the outcome.
Opponents of the deal repeatedly claimed  that the agreement would “pave the way” for Iranian nuclear weapons. This was an outstanding example of the opponents’ bad-faith arguments, since they kept insisting that the deal would produce the one result that it definitely wouldn’t. That allowed them to pose as supporters of the goal of nonproliferation while working overtime to sabotage a nonproliferation agreement, but fortunately they lost the argument. Much of the rest of the case against the deal involved a lot of hand-waving about how the deal wouldn’t radically change Iranian foreign policy, as if there were any possible agreement that could do that. We see this nonsense again  in the latest complaints from Iran hawks in the Senate. Finally, there was the deceptive and inflated claim that Iran would receive a “windfall” through sanctions relief as part of the agreement. This was deceptive in that it pretended that it was possible to achieve the goal of restricting Iran’s nuclear program without lifting the sanctions imposed on account of the nuclear issue. It was inflated in that it always overstated the amount of their own money that Iran would be able to access. There was never any chance that Iran would agree to restrictions unless they obtained sanctions relief, and criticizing the deal for providing that necessary relief showed how ridiculous and fanatical opposition to the deal really was.
Some opponents wanted to make the perfect the enemy of the good by demanding unrealistic concessions from Iran, because they overestimated how much Iran could be forced to give up. But I think a lot of them just couldn’t stand the idea of resolving the nuclear issue peacefully. For many opponents of the deal, the nuclear issue was useful for them as a talking point while they pushed for ratcheting up tensions with Iran, and to resolve the issue even temporarily would be a setback to their agitation for another war. Insofar as the deal has made war with Iran less likely, that is at least as important an achievement as the restrictions it has imposed on Iran’s nuclear program.