Вики пишет что сериализация это "процесс перевода какой-либо структуры данных в последовательность битов". И обратная сторона - десериализация.
Если вам нужно передать сложный объект с помощью какого-либо транспорта (файл, TCP-IP соединение, и.т.д) вам надо ваш объект на одной стороне перевести в последовательность байт, а на другой стороне восстановить из последовательности байт. Это и есть сериализация - десериализация.
Во всех ЯП сверхвысокого уровня типы C#, Ruby, Python и т. д. есть встроенные механизмы сериализации, но иногда разработчики переопределяют методы сериализации \ десериализации для каких-то своих целей.