A fence on its own will not stop the problem. However, a fence with border patrol snipers mounted on posts would keep mexicans out just fine. When they see a mexican coming up to the fence, pew! He dead! We need to build a fence with these sniper posts to stop some crime. Lots of crime is commited by illegal immigrants.
Its like the walls to a castle. Say an enemy is invading the castle (u.S.). If we could wall up around the castle, that would cover up a huge hole in our security. Yes there will always be different ways to get past. But covering up the biggest threat would allow us to spend more time and resources on the other passages into the country.
No matter how big you make a wall around and under the border in the end it'll just be a wall. If you are smart enough to know there's already a fence there. But that doesn't keep people out does it? I am living proof of that. So even if you made it a metal wall, that's thousands of feet high. People would still find a way to get in.
A 700 mile US Mexico border fence will in no benefit the American people with improved national security. This is a "scapegoat" option; offering an immediate "solution" to a problem that didn't inherently originate from our US Mexico border. This in fact could possibly weaken our security because it just diverts terrorist immigrants to other options; not solving, just diverting.
A 700 mile long border fence will not increase our national security. All of the terrorists who struck on 9/11 were in the country legally on visas. A fence would be expensive. It would likely slow down illegal immigration, but that is not a direct national security concern. Terrorist attacks from Mexican nationals illegally in the country simply are not occurring. We would be better off using our resources to directly attack real national security threats rather than imaginary ones.