Let's start with the easy one:
Never use it. Even though it might appear efficient in the complexity-theory sense, it performs terrible and suffers heavily from numerical issues.
Mostly studied for historical interest, but there are some cases where it might outperform dual simplex (when the basis matrix in the primal revised simplex is of significantly lower dimension than in the dual revised simplex, I think). Worst case exponential time, but never happens in practice.
Usually the default choice in modern Linear Programming Solvers. Can be warmstarted and hotstarted, easy to get feasibility, and preserves dual feasibility when tightening the primal LP (such as in a MILP environment). See this question and answer for more details on this. Worst case exponential time, but extremely efficient in practice. Can efficiently exploit sparsity in the constraint matrix. One of the reasons dual simplex implementation outperform primal simplex is the Dual Steepest Edge technique, which apparently is not directly applicable to the primal algorithm. The availability of the bound flipping ratio test also adds to the superiority of the dual over the primal method.
Both primal and dual simplex will produce a basic solution (at a vertex of the feasible region).
Interior Point Method
Provable polynomial complexity. Often needs a preconditioner to perform extremely well. Can not really be warmstarted, so not much use in a MILP environment apart from solving the root node. Performs competitively when you don't know much about a problem (e.g. no warm/hotstart available). IPMs do not generally produce a basic solution (at a vertex of the feasible region).
Rule of thumb: You're usually not terribly wrong by using dual revised simplex, especially if a warm- or hotstart is available. Occasionally it can be beneficial to use interior point methods, when you don't have a hotstart but maybe a decent preconditioner for the IPM system matrix.
Example: Use IPM to solve the root node of a MIP, use Dual Simplex to solve the other nodes.