A node is a machine that is connected to other nodes on the Bitcoin network which sends and receives blocks and transactions with other nodes.
A peer is a node which your node is connected to. Peer is often used interchangeably with node.
A seed node is a node which you connect to briefly in order to find other nodes to actually connect to. When you connect to a seed node, you only do so to get the IP addresses of other nodes. Then you disconnect. No blocks or transactions are sent to or received from that seed node.
-addnode will have your node connect to another node and have it as a peer. So you will send and receive blocks and transactions with whatever IP address you specify.
-seednode will have your node connect to another node and use it as a seed node. So it only connects to that node, gets a bunch of nodes' IP addresses, and disconnects. It then connects to those IP addresses as a peer.
If you have
dnsseed=0, then your node will have a harder time connecting to the Bitcoin network. The DNS seeding (which is disabled by those options) allows your node to ask a few DNS servers for the IP addresses of some seed nodes. Without them, you will be only using the hardcoded fallback seed nodes which may not necessarily still be online. If you insist on disabling DNS seeding, then you should use both the
-seednode options so that you at least establish a connection to a node and get more IP addresses to connect to.