Before learning .NET serialization, you need to learn what it means and what are the general purposes:
http://en.wikipedia.org/wiki/Serialization[
^].
If you still cannot understand the purpose, think about this: during runtime, you create and modify certain objects in memory. What happens to them if you close the application? They disappear. But what if you need to open the application again and have the same objects you used to have before?
Similar thing is about networking. What is your application is located on more than one places on some network? How can you use the same shared objects? Remember that formally you are dealing with two separate processes, which are well isolated, even if you had them on the same computer.
—SA