Personally I use them in the following ways:
fsockopen
[indent]Used to do a quick check for URLs and get response codes. Nothing fancy, but quick and dirty and I don't need CURL to do it. It's just a preference as I could easily use fopen with any of the stream wrappers instead of fsockopen.[/indent]
fopen
[indent]Personally I use this as writing strictly locally to files or output streams (like downloads).[/indent]
CURL
[indent]I use this only for times when I need to do http requests that somehow depend upon one another or have cookies. It's easier to use typically than strictly fsockopen or fopen.[/indent]
file_get_contents
[indent]I use this only when dealing with local files or a simple http read.[/indent]
Of course, all of these depend upon the situation I'm working in.