The truth is that there are simply too many people in the United States and not enough resources and jobs to go around. Really both capitalism and socialism will work if the population is manageable.
Without an over abundant supply of workers, markets will be forced to adjust to paying workers a living wage. This is how capitalism is supposed to work.
With an over abundant supply of people using government welfare and social programs, the wealthy won't be taxed too highly and will keep job opportunities in said country. This is how socialism is supposed to work.
Clearly the problem arises when these two systems have a massive abundance of people.
People, especially immigrants, are quick to label others as "racists" whenever they give a hint that they are against immigration. I personally view this as a cheap card immigrants play in order to justify their coming to out lands. Illegals use this even more extensively in order to try an justify their own law breaking. Immigrants do not want to face the truth that there is a finite limit of people the US can reasonably and humanely support. It is much easier to just call people racists.
Personally, I do not care what race or religion you come from. I am against immigration from a simple numbers standpoint. I believe that liberals in general need to stop being afraid to be called racists and except that out country can only support finite amount of people.
The real problem the world over is that people irresponsibly breed too much.