You can 'fall' out of a fake_choice statement, whereas a choice statement won't let you do this (each choice has to end with a go_to).
So for example you can do this:
You can't do this with a *choice with the latest build without it failing (though I think it'd pass an autotest).
There's no reason to use fake_choice if you want to use *goto though - I just noticed I'd accidentally coded in a fake_choice that did result in *goto and it work though I'll probably change it to a regular choice statement just in case.
As my story is fairly linear, a lot of the choices don't result in a go_to. I'm not sure what the fake_choice can't do - I think functionality has been added to it though as I'm fairly sure a while back it couldn't set variables and I think I mentioned it on the google group as a shame.
I've whipped up a demonstration here: https://dl.dropbox.com/u/11379019/COG/Test/web/mygame/index.html
Test 4 fails as it should end in the 'Fallout' line but doesn't. This is basically if you've coded a *choice statement without ending it in a *goto.
To me, it's fairly essential that I'm able to use *set following a *fake_choice - I want my game to remember any choices made, but I don't always want that choice to actually branch the game (i.e. being forced into a *goto).
I also followed the CoG documentation, but I think it's very out of date now (which is why the wiki is a god send!). I did doubt what I was doing at first, but I've noticed other users have encountered it to, so thought it was worth bringing up.