On the whole, this deal looks like it does a pretty good job in the short-term to stop any sort of advancement by Iran on its nuclear program, but it does create a pretty interesting and complex situation to deal with in about a decade.
Pro:
We have an actual deal: Whether it is good or bad doesn't matter for the moment; we finally have something concrete to critique. No more hypotheticals, no more educated guess work, no more rumors or anonymous posturing. There is an honest-to-goodness deal that's out there now for us to look at. Having a deal also means that it's less likely that we'll be having a war instead.
The restrictions placed on Iran's nuclear program are pretty comprehensive: Uranium enrichment to 3.67% is good because it's enough to prevent heavy-water reactors from being required but not nearly enough to make a working bomb. A moratorium on new heavy-water reactors beyond the redesigned Arak facility means less easy-access to plutonium. Dramatically scaling back the number of working centrifuges reduces the amount of material that can be enriched, limiting Iran's ability to stockpile fissile material. Locking centrifuge technology in at less advanced levels limits production by preventing more efficient means of enrichment. These restrictions force Iran into a position where either the nuclear program would have a long breakout-time to nuclear weapons (resulting in a very, very small nuclear stockpile) or the nuclear program would have to make very clear and obvious moves that would signal that the program was heading towards weaponization.
The monitoring regime also seems pretty comprehensive: Monitoring starts at mining facilities and goes all the way through the process. Iran has the right to refuse inspections, but any refusal automatically gets kicked to an external panel for final say.[1]
The IAEA gets to investigate Iran's nuclear program past: Getting a good idea about what how far Iran has already gotten with regards to weapons-design, how Iran managed the program, etc. allows both monitoring agencies and interested parties more information than they had before. More information is generally preferable to less information.
The mechanism for re-imposing sanctions is quite clever: If someone (the U.S.) thinks Iran is doing something, and they want to re-institute the sanctions, the issue can ultimately go to the Security Council. And, while ordinarily the veto power of a permanent member might be a problem, Security Council will vote on whether or not to continue lifting the sanctions. This effectively nullifies the veto power as a tool to protect Iran, and all but ensures that if one of the P5+1 start to have legitimate concerns sanctions will return quite quickly.[2]
It frees up time, energy, and effort that can be expended on other problems: This whole situation surrounding Iran's nuclear program was a gigantic black hole that required a lot of resources to deal with. Now that a deal has been reached, much of the resources used to handle this problem can move on to other problems.
Con:
The deal allows Iran to enrich uranium and continue its nuclear program: Forget about all the hand-wringing done by Republicans and Israeli and Saudi Hawks who have patently unrealistic goals for how the negotiations should have gone (and have heretofore been unwilling to give life to any alternative plan other than "try harder" or "keep calm and sanction on"), the fact that a geopolitical adversary has the pieces in place that it needs to one day build a nuclear weapon is less than ideal.[3]
Fordow and Natanz still exist: Now, there are a whole bunch of caveats here (like the fact that Fordow isn't allowed to have fissile material on-site), but the fact that Fordow and Natanz-- both hardened enrichment facilities-- will still exist means that it is, quite simply, harder to bomb Iran's nuclear program out of existence if it ever comes to that.
Most of the provisions have clocks on them: Now, again, it's important to realize that having a perpetual deal was simply unrealistic, but setting time limits means that, once those limits are up, Iran is free to progress as far and as quickly as she desires. Breakout-times would decrease dramatically and it would be much harder to distinguish between legitimate uses and weaponization.
No deal is foolproof: It's just a deal, not an iron-clad, unbreakable agreement monitored by omniscient and omnipresent beings. Inspectors can be fooled, complacency can set it, and carelessness can occur. Even with everything set in place, Iran still could make unwanted advances.
Ending of weapons embargoes: The ending (in five years) of the embargo on conventional weapons is less of a big deal as keeping it intact without a nuclear deal would have likely been impossible. But the ending (in eight years) of the ban on missile technology is a concern; this was the cog that made other issues with the deal less important. Ending a sanctions regime that severely curtailed Iran's ability to make functional nuclear weapons creates a situation where inspections and other safeguards have smaller margins for error.
The geopolitical situation in the Middle East was already complicated enough: Nobody really knows what the deal will do to already dynamic geostrategic situation in the Middle East. It is unlikely that Israel is in a position to take any action of its own and it is unlikely that Saudi Arabia will go ahead with its own nuclear ambitions, but this deal (any outcome of this situations, really) throws another ball of yarn in to the tangled mess that is the Middle East.
It frees up resources for geopolitical adversaries: Russia and China are now free to eventual start selling weapons to Iran. China is free to eventually start importing large amount of oil. Iran's economy gets to grow again resulting in the ability to have more money to spend on defensive measures to protect the nuclear program from attack and possibly resulting in an economy that is a bit more resilient to the possible return of sanctions.
[1] The external panel will be made up of the representatives of the P5+1 and a representative from the EU and will simply require a majority vote to force an inspection. The make-up of representation all but guarantees that and Iranian denial will be overridden by the external panel.
[2] What's in the Iran agreement
[3] It is, perhaps, a bit unfair to say that opponents of the deal have been unwilling to share any alternative plan as some have advanced the idea of bombing Iran's nuclear facilities. This, of course, only kicks that can down the road and possibly makes it harder to bring together the diverse coalition of countries that were able to put up the current comprehensive sanctions regimes when Iran decides it wants to rebuild its program again. Iran has already surpassed most of the important hurdles that exist for a nuclear weapons program and so reconstituting it is merely a matter of time and money. The only thing that completely eliminate Iran's desire to build a nuclear weapons program is to change the preferences and interests of the powers that be either by changing facts on the ground or by whole-scale regime change. Comprehensive sanctions were able to do just enough to get Iran to the table, Israel isn't likely to suddenly give up it's nuclear weapons program, and you can't really change history; the facts of the ground weren't going to change enough anytime soon.