The C++11 standard specifies a number of different engines for random number generation: linear_congruential_engine, mersenne_twister_engine,
I think that the point is that random generators have different properties, which can make them more suitable or not for a given problem.
Depending on your need, you might take one generator or another one. E.g., if you need fast random numbers but do not really care for the quality, an LCG might be a good option. If you want better quality random numbers, the Mersenne Twister is probably a better option.
To help you making your choice, there are some standard tests and results (I definitely like the table p.29 of this paper).
EDIT: From the paper,
LCG(***) in the paper) family are the fastest generators, but with the poorest quality.MT19937) is a little bit slower, but yields better random numbers.SWB(***), I think) are way slower, but can yield better random properties when well tuned.