Others have already added plenty of information about this. But, I think they missed one point. Sometimes, contractors can earn far less than their potential because of the practice of sub contracting, i.e getting a job through a middle man or vendor. In fact, I had recently created a question about this. Often, the jobs offered by these types of contracting/staffing agencies are of the maintenance or "labor intensive" type i.e not much thinking, designing and problem solving.
Here is an example:
Company = + $100/hr
vendor1 = - $16/hr (preferred vendor)
vendor2 = - $8/hr (middle vendor)
vendor3 = - $8/hr (middle vendor)
contractor = 100 - (16+8+8) = $68/hr
68 $/hr or 140,000 p.a might be quite good for those living in most big cities if you are single or are married without kids. But think about the extra money every one could make/save by removing middle vendors !
Most importantly, your rate depends on how skilled you are. Assume that there is a strong demand for your skills in the market. Then, the rate you get primarily depends on your skills and secondarily depends on your visa status. If you are really skilled, then you can easily negotiate for a higher rate. Unfortunately, if you are on a short term work visa or need one, then don't be surprised if you get low ball offers. Highly skilled people might not face this problem often, but average skilled ones will. Unfortunately, visa status is used as a bargaining chip by many companies.
Takeaway: Try to find companies that work directly with clients, i.e don't have middle vendors.