How does each client work in general? Pros and cons of using each client?
Core Client a.k.a. Full Node
Full Nodes store all transactions since the last snapshot. It is required to be online (= available to its neighbours) 24/7
A Light Client does not store any transactions. To make transactions, it has to has access to a Full Node. It asks the full node to publish its transactions. It does not have to be online 24/7. It merely connects to a full node (commonly via http on port 14265) whenever it needs to make transactions.
Swarm Clients are not released yet. They are supposed to be a Full Nodes that run distributed on more than one device.
- Full Node - orange
- Permanode - red
- Light Node - green
- Swarm Node - purple * swarm nodes may not look exactly like that, it's just a guess
If you are asking about nodes as "client" this is the answer.
- Any information about Swarm nodes has not been disclosed though "Nelson" is something different from Swarm, which is a wrapper library for Full nodes that let you use the auto peer discovery feature to make maintaining neighbors easy.
- Headless nodes also known as Full nodes are the core backbone of the tangle network. Full node owners are expected to keep their noes 24/7 so they are usually hosted on VPS. Pros: you sometimes have a better confirmation rate using your own full node as your light-wallet host when the network is congested compared to using public nodes. Cons: you have to take care of the server and the minimum specs requires somewhat ~$40 a month
- Light-wallet's full "mode" is a temporary feature that you can still connect with other full nodes and use it as your host. This is only a temporary feature since the new upcoming "trinity" wallet will not support this. Pros: easy to setup, does not cost any if you only run it when you used the wallet. Cons: Not really helpful for the tangle network and might take sometime to sync if you do not keep it running 24/7.