If it works, why is the market cap so low?
That is difficult to answer, but from what I can gather there are several reasons:
1. There was a big FUD campaign when Bitshares first came out saying Smartcoins (then named bitAssets) would never work and their value would collapse, and that scared a lot of people away. Google Preston Byrne and bitUSD... his set of three articles were the most quoted "evidence" that bitAssets would collapse. But really those articles were just speculation, and after three years of Bitshares holding its Smartcoin pegs these detractors have pretty much gone silent. I guess they are starting to realize they may have been wrong (if they haven't already).
2. bitUSD had two competitors in the space. Tether and Nubits. Tether and Nubits had much more volume and market depth closer to the $1 pegs than bitUSD. They both put huge buy and sell walls close to the $1 peg. Nubits paid people to do so by use of inflation, and I guess Tether raised investment capital to do so. Up until very recently, there were not many market makers for bitUSD and the spread was much higher than it is today and there was less market depth. Because of the bigger market depth and smaller spreads, Nubits and Tether killed bitUSD as far as usage.
Then Nubits had a big collapse during the summer of 2016 where it went as low as $0.22, and ever since then Nubits has seen much less usage/volume. At this point, Tether is easily the most popular and liquid USD pegged asset. However, recently even Tether is showing some cracks in its armor. There is evidence that they are closely associated with Bitfinex, both of which are having monetary issues. It is showing in Tether's value which is currently $0.968, and has recently gone as low as $0.921. bitUSD has held a tighter peg than Tether for two weeks running. If Tether collapses just like Nubits did, then I think everyone will finally understand that bitUSD is the best solution.
Nubits, Tether, and Bitfinex's issues highlight that they may not be the best solutions, and they are both subject to many issues that bitUSD is not.
Nubits is like a "decentralized" federal reserve, which is still pretty centralized, prone to errors in judgement from Nushare holders, and more vulnerable to exchange default (among other issues.)
Tether is completely centralized, and subject to all of the downfalls that brings... subject to the Tether company not honoring the $1 peg (it is held only by a promise from Tether to do so, and if you read the excerpts from the ToS it is not a promise at all), subject to seizure by governments, and it is also more prone to exchange default (among other things).
bitUSD is completely decentralized and runs on free market principles. Also, recently due to market maker bots being made easier to use (such as
https://btsbots.com/), bitUSD is slowly closing the gap as far as liquidity and market depth. Before market maker bots were only ran by a few individuals who kept the source code private, so there was not much market making going on.
After doing some looking online, I don't understand how it works. According to this video,
https://www.youtube.com/watch?v=YD8i2Py9Paw, a bitUSD is made up of a variable number of bitshares, such that the value will always be $1. But that does not make sense, firstly it is dependent on the viability of bitshares, second, where are the bitshares coming from to insure a constant value?
Instead of typing up a long post of how it works, which I admit is difficult to grasp at first, I think this answer from Bitcoin's Stack Exchange is a good description. There are a ton of articles and videos on it. Bytemaster released this video in 2013 before starting Bitshares explaining how bitUSD would work, and it helped me understand. I still think it is one of the best descriptions:
https://www.youtube.com/watch?v=-8ZJ3xTDwbIAbstractly spoken, what you have in the current BitAsset 1.0 implementation is that in the market two parties meet that have different estimations for the future price.
Let's define the price to be the price of a bitAsset (i.e. bitUSD) denominated in BTS (base base currency in the BitShares network). For example 0.1 BTS per bitUSD. We need to clarify this here, because every market in BitShares can also be flipped, i.e. we can trade BTS:USD or USD:BTS.
Going Short
Let's say Mark thinks the price (i.e. 0.1BTS per bitUSD) will go up in the future while Nanny expects the price to drop soon. Nanny wants to a bet for this and goes short on bitUSD. Going short on a bitAssets means, that you lend it from the network (i.e. the network creates them for you) and sell it to a buyer (here, Mark).
The collateral
In order to go short, you need to lock up some of your funds (here BitShares) as collateral, you can see this pretty much as a security that you will be able to give back your lent bitUSD eventually. The total collateral is 200% the amount your short payed by both parties of the trade. This means that:
In order to short 1 bitUSD, the amount of BTS worth 2 USD has to be locked up.
The shorter pays half of the collateral and the buys pays half.
If you want to short-sell 1 bitUSD you will have to lock away 1 USD worth of BTS and will not get anything from the trade.
Price movment
If the price (say to 0.09BTS per bitUSD) goes down then the market moved according to Nanny expectations and she should make a profit from the prediction. How is this achieve? As a short-seller, she has to give back the lent bitUSD eventually, so she can decide to do this at a price of 0.09 BTS/USD. This means she needs to buy bitUSD cheaper from the market than she sold it earlier in the short-sell. With the bought bitUSD, she can close her short order (i.e. cover) and give back the lent USD which will free up the collateral, which, considering that she had to buy bitUSD with BTS, should leave her a profit of 10%.
However, if the price goes up she can do one out of three things:
Wait for the 30 day short limits to arrive. The Network will put a buy order for bitUSD and close here order automatically giving her what is left from the collateral
Wait for the price to go up even further and risk a margin call. This will be triggered from the network if the collateral is only 150% (in contrast to the 200%). The network will force (i.e. it does this automatically) you to buy up bitUSD on the market and close the order.
The short seller can decide to cover on her own buy buying up bitUSD and closing the order herself.
All of these options will make the short-seller a loss as the prediction was wrong.
Market Peg
In the end, the market peg is achieved by a social consensus in such that 1 bitUSD should be worth 1 USD. Hence, trading against the peg should make you lose money because someone else will make a profit from trading towards the peg. Wouldn't you want to trade if someone offered you $1 for $90c?
If it's dependent on bitshares, then how is it not centralized?
Bitshares was one of (if not THE) first working smart contracts. The decentralized exchange and shorting/covering/defaulting of Smartcoins like bitUSD is all done autonomously by the Bitshares decentralized network and blockchain.