The way things stand, there are 2 ways you can look at it:
-From a regulatory and maybe safety and fairness viewpoint, you can argue Hamilton was hindered by what you can call a "none-competing" car. Leaving the track means you are driving outside the track and therefore not competing in the race for that period of time. In that regard, drivers have been punished left, right and centre during practice and qualifying as when they are on a slow lap, not competing, and impete somebody else, they usually get some sort of penalty for that. Now, Vettel is perfectly allowed to rejoin the competition. But rejoining competition has to be done in a safe and orderly fashion, without hindering someone who is already in competition, which was Hamilton. I think nobody can argue Hamilton got hindered there: he took the racing line, but had to clearly reduce speed and take avoiding action.
I also see talk about that the competing driver has to have its wheels alongside in orde to be able to qualify it as unsafe. That is not true. Sporting Regulation 27.3 states that rejoining "may only be done when it is safe to do so and without gaining a lasting advantage". That is for the record a double requirement, so meeting one condition does not exclude the need to achieve the other. There is also a catch-all rule, 27.4 "At no time may a car be driven unnecessarily slowly, erratically or in a manner which could be deemed potentially dangerous to other drivers or any other person."
-From a situational, drivers and spectacle standpoint, you can argue the following: Vettel crossed the track across the grass and it is reasonable to assume he slithered back on the track, with snaps of over- and understeer requiring him to constantly make corrections. I do think myself he ended up blocking Hamilton in an unintended fashion. He was a bit of a passenger. Furthermore, there is something to be said about that the penalty, irrespective of it being correctly applied or not, took the tension out of the closing stages of the race. Some thoughts should be going to all those people buying these extremely pricy tickets and them having an exciting end to the race "getting robbed", again irrespective of the rules being correctly applied. I think a lot of them were disgruntled that the offense seemed rather light (which is subjective of course), with no damage or extreme disadvantage done to Hamilton. Having this rather minor offense ruin the race will make a racer's heart bleed.
In the end, I think the regulations were applied correctly. Yes, Vettel couldn't do much once he made the mistake and had to travel across the grass, but it does remain his mistake and thus it is his responsibility to enter competition again in a safe manner. It remains his mistake. When you or I make a mistake in society, we also have to take responsibility for that. That's how things go. Vettel has unintentionally hindered Hamilton, but he still hindered him.
That being said, it is rather sad to see a potential good end being ruined like that. It really was an anti climax. Hamilton did try to overtake Vettel, but I think nobody cared about that anymore since the end result was already determined. Mind that the stewards are certainly not to blame here. They are not there to ensure a good show, they are there to enforce the rules and ensure safety. It's the sport's leading body that will have to think very carefully how to from there, because this is a razor thin edge to balance on: will they favour the racing and spectacle in the future, but also open up pandora's box by potentially allowing unsafe returns to the track, or will they keep it as this is and leave themselves open for more of these race-ending situations and also criticism towards inconsistency? Some people here point towards Monaco 2016. Although not the same, it has enough similarities to question where the fine line is.