Why do immigrants come to America? It would probably help to first answer your other question of why do they need to migrate to another country? People choose to immigrate for a lot of different reasons, but the main ones are:
War/Conflict
Pretty obvious, but when a country is torn apart by war, people go in search of peace and security for themselves and their families.
Bad/Corrupt Governments
Corruption is rife in many places, particularly third world countries. Those leaving dictatorships, oppressive regimes or other types of government often view countries with a democratic system of government favorably.
Religious Intolerance
Freedom of religion is a fundamental human right, but it is still often denied to many people around the world. Those seeking religious freedom are willing to move to foreign countries so that they can practice their religion without persecution.
Job Opportunities
If you live in an area where there are few job opportunities, then the hope of a good job in a foreign country can be a powerful motivator to immigrate.
Family
When one family member moves abroad they will often be followed by others who have been encouraged to seek a better life.
So, when you look at all the reasons that people choose to immigrate, you start to see why many of them choose the United States of America as a final destination. The country does not have any internal conflict, the government is seen as stable and democratic, religious freedom is guaranteed in the constitution, job opportunities are plentiful and, as millions of people have immigrated to America in the past, many family members are following.