The way the world knowledge is evolving, there is a blurring of what we call specialist and generalist. For e.g. If you are a medical researcher, then knowledge of biology, biochemistry, software development (simulation anyone) and maths is required. Now is this specialisation or being generalist?
To me specialists go deeper and solver harder problems. They work on a problem or set of problems in the same space for years together.
Generalists span either multiple disciplines and leverage the connections or have an overview of the field and jump between sub knowledge every couple of years.
And which is better? It all depends on context!
In a space which has higher population of specialist then generalist will be more successful as they will be able to tap into multiple peoples work which a specialist will find harder to do.
In case there are many generalists in a given space then specialisation is the way to go as you can take up problems that generalists will never be able to see or solve.
For me it's all about context.