You can't have it both way. We're (Americans) are constantly told that we shouldn't push our laws on other countries. That's correct, we should not. We should follow the laws of the land that we're operating in. This can result in following laws that would be looked down on, or even illegal, in our own country. Yahoo! tried to follow the laws of the land it was operating in and got burned for its efforts, and now it's pulling out.
You can't have it both way ways. Either you push your laws on another country or you follow the other country's laws. You can't pick and choose. The only other alternative is to leave. Yahoo! makes far more money in the US than in China, so it can't keep drawing bad publicity. They left. A sensible move.