For the US, you can only have dual citizenship if the other country allows it. Germany and Canada allow it so you can have dual citizenship with them here in the US, however, countries like Kuwait and Saudi Arabia do not allow dual citizenship so the US won't let you be a dual citizen, you have to choose one or the other.
Let me chime in:
Technically the department of state does not take citizenship away unless a citizen formally renounces citizenship with the department of state.
Places like Kuwait and Saudi Arabia realize this, and will grant citizenship pending acknowledgement of this renunciation. You can't just go live in Saudi Arabia, and renounce your U.S. citizenship in front of a stone-throwing Saudi judge and have it be valid.
Another point: When taking the citizenship pledge to become a United States citizen, part of it entails renouncing loyalties to other countries. The supreme court precedence dictates that this does not mean one renounces their other citizenship to become a U.S. citizen. Some countries automatically drop one's citizenship if they become a citizen of another country. America is not one of those countries. In the past it did not allow dual citizenship, but in the last few decades it generally has allowed them.
Even if Obama had taken on Indonesian citizenship (as a minor), unless he was physically in front of a U.S. official and renounced his U.S. citizenship, he would still be a U.S. citizen. But since the law of Indonesia makes it so children of foreigners choose at the age of 18, I seriously doubt that.