Whether a particular method is capable of generating all efficient solutions is often a question of what structure the MOOP (multi objective optimisation problem) has.
In addition, you ask for methods that can generate all Pareto optimal solutions. In the single objective case, this is equivalent to asking for all alternative optimal solutions. Often what algorithms generate is a so-called minimal complete set of Pareto optimal solutions, which is a subset of Pareto optimal solutions such that there is exactly one solution for each non-dominated outcome vector. In linear and mixed integer linear MOOPs you also need to figure out how you want to represent the set of non-dominated outcomes and their corresponding pre-images: using extreme points, faces/facets, or both.
If the problem is a convex MOOP (convex objectives and convex feasible set) then for every Pareto optimal solution, $x$, there exists a weight vector for which $x$ is optimal to the weighted sum problem. And furthermore, if $x$ is optimal to the weighted sum problem for some weight vector, then it is Pareto optimal. Hence algorithms based on weighted sum scalarizations are in principle capable of generating all Pareto optimal solutions. However, there might very well exist multiple optimal solutions to a weighted sum problem, so you might need to tickle your single objective solver in order to get all the alternatives (they are all Pareto optimal). For the bi objective case the algorithm by Cohon usually works well. Especially if the problem is also linear. If you have a higher dimensional linear problem I usually resort to versions of Bensons algorithm. Bensons algorithm provides both a face and an extreme point representation.
For combinatorial MOOPs, usually ranking based methods are used when all Pareto optimal solutions must be generated. These methods often rely on solving weighted sums and then ranking solutions for a given weight. Standard references include the “two-phase papers” by Ulungu and Teghem. From a practical perspective, some type of $\varepsilon$-constraint based method is usually difficult to beat (for two objectives) both with respect to computation time and implementation time.
Through the last couple of years branch and bound methods for combinatorial MOOPs (with more than two objectives) have shown some potential. You can look at papers by N. Forget, S. Paragh, or K. Klamroth (among others).
For non-convex continuous MOOPs I do not know much. I would look for papers from e.g. G. Eichfelder.
Concluding I would like to stress that asking for an algorithm that is good for any type of problem, is like asking for the perfect tool for building a house. The tool depends on the task at hand!