So the terms inbound and outbound are used only to differentiate who stablished connection, and the flow of information happens both ways no matter if it is inbound or outbound?
There are slight differences. Outgoing connections are trusted more.
The idea is that if you connect to a node, it is probably trustworthy. Incoming connections could all be from the same person, using lots of different IPs, trying to attack you.
Address messages are only forwarded if they come from a node that you connected to. I think addresses that come from nodes that connect to you are ignored (or maybe lower priority), when deciding who to connect to.
Your node reserves 8 slots to try to make sure it has 8 outbound connections.