Can someone please clearly specify the differences between SharedCoin and JoinMarket.
What are the advantages and disadvantages of each?
How is SharedCoin centralized while JoinMarket decentralized?
I'll do my best. SharedCoin is no longer around. It used to have a centralized server which collected inputs and outputs from users then merged them into one big coinjoin transaction. They allowed you to do multiple "rounds" where the outputs from one round would roll over into the next and be coinjoined again, and they charged a small fee. A few years ago it was demonstrated that this obfuscation could be solved using what was called "coinjoin sudoku" which allowed an observer to connect certain inputs to outputs with certainty, although the computational costs of doing so were very high. This was a significant weakness, not to mention that the SharedCoins servers knew a lot about the participants.
JoinMarket is open source software for people to make their own coinjoins. It is decentralized because it uses an IRC channel to announce orders and organize transactions amongst the participants themselves. It uses a system of makers and takers. Makers offer coins to be used in coinjoins and collect a small fee, takers specify the outgoing transaction size and pay a small fee. Unlike SharedCoin, each coinjoin transaction has a handful of identically sized outputs. If I'm a taker and I want to send 1.2345 bitcoins, my transaction will have a bunch of other outputs of exactly 1.2345 bitcoins going to the makers who participated in the transaction. As far as I know, an outside observer examining this coinjoin transaction alone would have no way of connecting the 1.2345 outputs to any of the participants or input addresses.
SharedCoin's advantages would have been simplicity and ease of use (you used to be able to do it straight out of a blockchain.info wallet), plus I believe it had many more users at its peak which increases the anonymity set. JoinMarket requires a decent bit of time and technical expertise to get set up properly, but its advantages are that it gives you stronger privacy, is decentralized, and allows you to earn a modest return on your idle coins. I'm a big fan of JoinMarket and I recommend you check it out, if you're already running a bitcoin node it's not too much more work to get JM set up.