The two bits I would like to add here is that first of all, Stokes was out obstructing the fielder and not handled the ball. Handled the ball cases are usually very clear, and rarely leave room for interpretation.
Here are some examples -
I think we can all agree that these handled the ball dismissals are quite distinct from what was the case with Stokes. The most similar dismissal I could think of was this -
I think this is clearly the most similar dismissal to the Stokes one. The batsman out of the crease and the fielder has thrown the ball at the stumps, which was intercepted by the batsman. Now one of the arguments made here is that in Stokes' case the ball would not even hit the stumps. I think its clear that even with Inzi the ball was going wide. So I think the accuracy of the throw doesn't enter into question here.
What the Umpire has to decide is whether the interception (regardless of the accuracy of the throw) was deliberate or not. In Inzi's case there a case couldn't be made. The throw was hardly a fast one, it was missing the stumps in any case, and in any case Inzi could easily have moved out of the way, but Inzi chose to bat it away regardless.
Therefore the deliberate nature of the action cannot be in question. With Stokes because the throw was from much closer and much faster, the question of intention does arise. Was Stokes attempting to intercept the ball or move out of the way.
Not lets look at Stokes' dismissal.
I think that if we see the Ben Stokes replay, the ball is aimed reasonably in the direction of Stokes. (In between 2 and 3 seconds into the vid, its clear). This is even more clear if we see the slow motion of it (at 26 - 28 seconds into the vid). I think it would have missed Stokes had he remained still, but in that short a period, a batsman can hardly be expected to judge to within Centimeters the path of the ball. Stokes has seen the ball come in his direction, and with a reasonable chance of hitting him on the right shoulder or arm. If you see at 2 seconds Stokes' right arm is reasonably close to the leg stump. So that the ball could hit his arm was a possibility, and even though it would have missed it eventually, Stokes cannot be expected to make that accurate an assessment in less than a second. Thus Stokes felt he could be hit and instinctively has raised his left arm to stop the ball, while also moving his body out of the same immediately.
Now by the time the ball has reached him, he has acting on instinct moved well out of the way of the ball and so when the impact happens, the left arm stops the ball so far away from the body, that it has fooled the 3rd umpire into thinking that there was no need for Stokes to have stopped the ball, as it is nowhere near hitting him. However what he has forgotten is that just a few milliseconds earlier Stokes right shoulder was not far from where the ball was stopped. I think Stokes' quick movement has gone against him there. Had he been a slow mover, or had he not moved at all (second 26 in the vid), and just stood there and stopped the ball, it would seem that the ball was coming right at him, and thus he was right in taking evasive action by catching the ball.
I think all things considered, it was an unfair decision.
Is Steve Smith to be blamed in all of this, I disagree strongly. Smith has had the same time as everyone else to decide what happened. He in that split second saw Ben Stokes' arm reach out and stop a ball heading for the stumps. Just as Ben Stokes cannot be expected to definitely decide his action in that split second, neither can Smith. He in a split of a second saw Stokes stop the ball from hitting the stumps. Whether it was deliberate nor not how can Smith decide. He has appealed and the final decision was the Umpire's. He felt Stokes' action was deliberate and should be given out. Why must Smith get flack for this is beyond me. He had the same reaction time as everyone else, and saw what he did for a fraction of a second.