If there was a simple solution to the problem of illegal immigration, then we'd have fixed it by now. There are so many aspects to this issue, simply saying "send them home" or "close down the border" is not going to work. You have to look at the reasons why illegals come here in the first place.
For many, the reason to come to the US is to make money. That well needs to dry up before any impact can be made in halting or slowing the amount illegals in or getting into the US. These illegal aliens don't come to the US with gobs and gobs of cash ready to spend here. They come looking for work. Not every one of them is hanging out @ Home Depot waiting to go clean up your yard, or install a sink with you.
So, we can yak and yak all we want about how great it is to have the cops checking immigration status. But the reality is that the guy they stop and send back home, is just one guy. And there will be a hundred more coming from his homeland to take the job he vacated. Sure maybe you send his family back home too, but guess what, they will all probably try and get back to the US sooner or later. So what, are we just going to keep the busses rolling in and out of Mexico and Canada?
This needs to be taken up with the big companies that routinely hire illegal aliens. If there were penalties that made it less cost effective for a company to use illegal labor, than to use legal labor, then you would probably get somewhere.