Any thickness of post can fail really fast if not set correctly. I couldn't say if metal will outlast wood, but I'd say a well set wooden post will probably outlast you - and so will likely be good enough.
A properly 'set' fencepost should go deep enough into the ground to support the height of the post above ground. At a rough guess, I'd say a 6 foot fence will need something like 3 foot of post below ground level (say 2m above ground, 1m below if by some miracle you find metric fencing!). Some people may recommend less below ground - I doubt any would say to go deeper though.
Next up, the concrete (postcrete) you put around the post should come all the way up to ground level. You absolutely do not, ever, want to pop a bit of soil over the top of the concrete "to make it look nice" or because your bag of concrete didn't quite fill it up to the top. You get extra points for building your concrete up around your post - that is, to create a sort of cone shape around your post, widening a bit at ground level as it meets the majority of your concrete plug.
The science behind this (which in my meagre experience seems remarkably poorly understood) is that water will run down the fence post, and will essentially puddle up on the concrete. If there's a dollop of soil on top of the concrete, then this acts like a sort of sponge. As the wind blows, the wood flexes very slightly, and gradually breaks the wet wood fibres, and before you know it, the post will snap (in as little as a couple of years, UK weather dependent). Conversely, if the concrete is above ground (and ideally forms a sort of cone to flow the water away from the wood), then there's really very little permanent moisture in the wood, and so the treatment in it will protect it for many many years (10-20 years is not uncommon).
I'll also say that thickness or wood type has little bearing on failure if not set correctly. My neighbour had a couple of 8 inch decorative oak gateposts rot through because they weren't set correctly - not sure how long it took, but it'll happen eventually to just about anything.
Back to metal spikes... I'm told real fencers don't like spikes, primarily because they don't go deep enough into the ground. In almost any ground type, the spike alone simply won't hold enough, so as you've identified concrete is required. The depth requirement still probably isn't satisfied, but let's breeze past that. Setting a spike is just as critical as a plain post though - unless maybe you can get stainless steel spikes or something. If you set the spike below ground level, then soil will still "sponge" moisture against it, and whatever paint, galvanizing or other treatment it has will eventually fail. As such, you've still got to bring your concrete up to ground level (or perhaps a little higher). Then I'd say you should ensure the base of the "box" at the top of the spike sits on top of the concrete, thus covering all of the spike in concrete. Again, some extra points for making a slight slope around the box to help water flow away from it. Set like that, a spike should also probably outlast you, although is probably unnecessary as a regular wood post will do fine.
As a DIYer, I personally have used a few spikes. On occasion, I've used them to repair a post that's snapped, without having to replace the post. That is, I've cut away the bottom of the post, dug out all the rotten stuff and then put a spike in its place. This worked for me trying to repair a poorly set leg of a pergola. The nice thing about it is that the spike can go in the hole in the concrete left when you've taken out the rotten wood - so you don't have to break up the old concrete just to put some new stuff in. The same trick would work if you've got an awful lot of tree roots or some other accessibility problem in one of two spots. It's more work than just setting a fence post though, and costs more, so likely an expensive way to achieve relatively little.