If this were anyone but Roger Waters, I would suspect that this is about money. In his case, I don't think it is about money. I think that Waters wants to be on the correct side of the issue. He has more money than God, he's been touring for years, and he doesn't need the money.
Now, having said that, should he boycott playing in Israel? Absolutely. If you believe in human rights, then what the Israeli government is doing to the Palestinian Arabs who live in Israel proper is not right. Israel has long been the victim of aggression and terrorism, however. So, you have to weigh those two things. Ultimately, staying out of that region is a healthy way to express displeasure with the logjam of diplomacy that prevents anyone from getting anywhere with the peace process.
Really, though. It's nothing to do with music. It's about who you want to play in front of, and Waters is thinking very seriously about who he plays for.