One element of winning a tournament like the World Cup is luck, you need your best players to stay injury free for a month. On the back of a tough, long European season, it is so easy to pick up a little niggle that keeps you out for 2-3 weeks - in the context of a regular club season, that's nothing. In an international tournament? That's you out for almost half of it, with the struggle to gel in with the rest of the side once you recover. Wipe out Xabi Alonso, Cesc, Xavi and Andres Iniesta from Spain's midfield - the most important part of your side - and Spain still have the luxury of players like Marcos Senna, Sergio Busquets and Mikel Arteta. Goalkeeping crisis? Spain's 3rd choice keeper, who has never been capped, happens to be the first choice keeper for the best side in the world, and is one of the best keepers in Europe. England have 2 keepers who play for bottom of the table sides, (they're not good enough for the top sides) and a keeper who has played 1 season of regular first team football.
You also need to be able to resort to a plan B when plan A isn't working. Looking at England's squad, Capello will be limited to throwing on SWP or Emile Heskey as a plan B - not great. El Diego on the other hand is likely to be able to look at his bench and take his pick from Diego Milito, Carlos Tevez, or Kun Aguero.
You need matchwinners - your goalkeepers and strikers. Wayne Rooney excepted, England's options here are utterly pathetic.