I've been wondering about this for months.
Remember a fundamental fact. The point of a War isn't to win all the battles. It is to have the highest points you can get.
When you build a wall you spend large amounts of money to slow down other factions scoring points. Eventually they will knock them down and score points anyway but it increases your chance of beating that guy. What it doesn't do is increase the number of points you score against that faction. Walls just decrease the number of points scored against you.
Assume you had no walls. The other factions you fight would probably score more points. You may lose a few more individual battles. heck, you may lose all of them. But the number of points your faction scored would not be changed at all. Furthermore, the money you saved could be used to buy bonuses for individual attack, defense, health recovery and guild increases that allow you to attack stronger players with more people and actually score more points.
What about the factions that beat you? So what? Last few wars my faction fought about 44 to 50 wars. There is a finite number of 60 minute battles you can have (along with time to regen) during the war period. But let's say you fight 50 people and each of them score more points than you in each of your fights. But you will score more points during each war you fight due to the issues above than you would have otherwise so overall you are better off. Net result is 50 factions move up a little but you move up a lot. If you aren't trying to be in the top 50, having a few other factions win isn't going to fundamentally change your place in the rankings.
Feel free to comment.