In UNIX and Linux everything is a File. Well almost.
The correct statement would be everything is a file descriptor or a process. The point to everything is a file is that common tools can be used. I/O access can be done using the same set of operations. In windows you have different reads for sockets, files and pipes with different. With Unix/Linux treating everything as a simple file descriptor you have one read system call. This removes the need for having multiple operations with specific uses doing the same thing.
As example of everything is a file we will take a look at a directory file.
I hope the high level overview in this video explained why to go deeper into this would get into kernel development and beyond what I do.