If you look at that elbow punch Dwight Howard threw at Sam Dalembert on Tuesday, it's clear the NBA had no choice but to suspend the Orlando center. That's as clear a violation as you can have and while the official who was right there called a technical right away, the rules called for immediate ejection.
Howard has a history of using his elbow in tight quarters or to shake himself loose when an opponent is hanging on him. Understandable, but not allowable.
Why wasn't Howard thrown out of the game against the Sixers? Probably a combination of things. Conspiracy theorists will tell you that the league would prefer Orlando advance, but that's not what's at play here.
The home player is going to naturally get a benefit of the doubt, that's just human nature. That's part of what a homecourt advantage is all about. Also, even though it shouldn't, justification will play a part in the punishment. Howard has been mugged all series and Sammy was hanging on him on that play. Howard got a break because his retaliation was provoked over a long period of time. If the refs make a big deal out of the retaliation by chucking Howard, then the Magic would have made a bigger deal out of what led up to it. And nobody in officiating likes that kind of spotlight.