Full stack means you're able to write code that manages the data layer (back end) and also write code for the UI (front end). In most web programming the languages and techniques used for the back and front ends are pretty different, so a lot of people tend to specialize. A full stack developer is valuable because that would be able to implement a new feature or fix a bug on their own, without working with a team of other people. In today's remote/distributed workforce where the front end dev might be asleep when you need to fix a bug, being able to handle the full stack is a huge benefit.
Typically back end developers need to learn a server side language like Java, Python, Ruby, Go as well as become familiar with database languages like SQL.
Front end devs need to learn HTML/CSS, Javascript, and all the intricacies of dealing with multiple browsers, front end frameworks like ReactNative or Angular
I would also add the infrastructure layer, which we call devops. They need to learn how to manage servers, use AWS or other cloud services, manage costs, deliver scalability
Its a lot to learn - but it can be a lot of fun.