Serialization turns an in-memory object into a string of bytes so it can be stored in a cookie or sent over the network, and deserialization rebuilds the object from that string. Insecure deserialization is when an application rebuilds objects from data the user can modify, and trusts the result, so an attacker who edits the serialized data can change the object the application ends up using.
The impact ranges from privilege escalation, by flipping a field like admin from false to true, up to remote code execution in languages and libraries where crafted objects can trigger dangerous behaviour during reconstruction. The beginner-friendly case is modifying a readable serialized object to change your own attributes, which the PortSwigger labs demonstrate cleanly.