Petraeus was not punished severely enough for his behavior. Disclosing highly classified secrets goes directly against his position and is a complete abuse of his power and access to such information. By not punishing him enough, it may encourage others to behave in a similar way and disclose classified secrets. Not only can this look bad for the government, but it could also result in dangerous activity or ruining international relations.
No, Petraeus was not punished severely enough for disclosing highly classified secrets to people who were not supposed to be exposed to them. The U.S. government needs to make sure that its secrets are kept confidential, and that its people remain safe. The lenient treatment given to Petraeus sets a bad example.
The difference between the two is that Petraeus is a political insider while Snowden is not. Petraeus, being an elite, can skirt around the law or just ignore it. Snowden, being one of the little people, has to follow the law to the letter or face the consequences. It is a double standard.
Snowden is a national hero he gave up everything to expose the crimes being committed by our government, and those crimes continue to this day. He's exactly right, Petraeus gets a slap on the wrist because by golly he got the information back 3 days later and plus he's such a swell guy, while some people in government have called for Snowden to get the death penalty. 2-tiered system of "justice" is spot on.