Which of the following methods would yield the most purified protein fraction?
A. Salt precipitation
B. Charge separation
C. Affinity purification
The first one is the most commonly used, is it the best ?
The choice of strategy for protein purification of course varies by application. As @A.Kennart points out, affinity chromatography is the most popular right now. It can be expensive. If you have an expression system for a recombinant protein its more common than not to add a poly-Histdine tag on the N or C terminus or some other protein fusion. So there are cases where you won't be able to use it.
For instance if the protein you are looking for is not coming from a recombinant source / is not sequenced, it can get expensive and time consuming - getting an antibody made requires that you have a somewhat pure prep of the protein in the first place.
The most common reason we still use all these methods are because different levels of purity and different raw materials show up in different contexts.
In the case where the protein has never been isolated before or you have a sample (like a cell sample rich in a particular protein) then salt and sizing columns are very useful. Salt precipitation is useful when you have a lot of sample and you need to make some rough cuts. Even if the gene is well characterized, it may depend on expression in its native organ.
I've prepped protein using ammonium sulfate precipitation from homogenized whole tissue for instance. That's great - the result got rid of well over 90% of the material, but the outcome has hundreds of bands on the gel. In this case an affinity column was used next; immobilized conconavalin A would bind to the glycosides on the target product. If I had put the whole tissue homogenate I would have destroyed the affinity column by stuffing it full of meaty gunk.
Charge affinity columns with salt gradients are often still needed after affinity chromatography. Some folks don't need pure protein, but affinity chromatography (esp his tags) will still have many bands left on a protein gel and those contaminants always leave your experiment in question.
In my protein purification experience, affinity purification is the most selective purification strategy. This makes sense because affinity tends to be very specific, and only one protein should in theory be preferentially separated by the column. Think how specific the antibody-antigen interaction is compared to the differences in, say, charge between proteins (which could be very slight). When I was purifying proteins I would pretty much always start with affinity purification. If more purity was desired after the affinity purification step, I could perform salt precipitation or charge separation on the affinity-purified sample, which had already been cleared of major contaminants/nuisance proteins by affinity purification.