Brokerage is usually very low. The spread mimics the market bid/offer price, except for overseas shares (CMC is quite accurate on some UK shares). But of course, even a normal market spread works in the CFD providers favour. If the bid/offer is $1.00/01 it's not like you can buy at $1.00 and sell at $1.01. You need to buy at $1.01 and the stock needs to move above that price.
Buy and hold is possible with CFD's but usually becomes a short to medium term trade anyway because of margin. Good to keep half the account as margin buffer.