To clarify on the spread question a bit further, when a CFD trade is entered (with any CFD broker), the position will show a loss equal to the size of the spread. So if the spread is 5 cents with the CFD broker, the position will need to appreciate 5 cents for the position to be at a breakeven price. If you owned the stock or commodity or currency outright, you would be seeing a 5-cent gain, yet you would have paid a commission and have a larger capital outlay. Herein lies the tradeoff.
CFD brokers offer many of the same order types as traditional brokers. Many brokers do not charge commissions or fees of any kind to enter or exit a trade. Rather, the broker makes money by making the trader pay the spread. To buy, a trader must pay the ask price, and to sell/short, the trader must take the bid price.
Hope this helps!