I think a person needs to take the american citizen test, basic questions about english and other related history about america. From what i know, it's not difficult, but just takes a long time to get the chance to become accepted as an american citizen and taking the quiz.
Marry to a citizen is one way. And the other way is..a person has to be a permanent resident for at least 5 years so that he is eligible to apply for American citizenship. There are a lot of documents to prepare. And go to interview and take tests which are not that difficult. To be a citizen is not easy. It takes time and is very stressful.
The ways mentioned above as well as being sponsored by a current citizen and aquiring permanent residence status then applying for citizenship by taking the tests, oaths etc.