Differences among competent cells?
There are a lot of differences, you can check the companies that sell competent cells for guides on how to choose (NEB, Sigma Aldrich). But there are only a few things that matter for the really common uses of competent cells.

The most important part of selecting your cells is choosing cells suitable for protein expression or for plasmid preparation. 

The cells meant for plasmid prep carry certain mutations like endA that inactivate nucleases that would otherwise degrade DNA. Typical choices here would be DH5$\alpha$ or XL1-Blue.

Cells meant for protein expression have some proteases mutated, and can often use different promotors like T7. A typical example are BL21 cells, and BL21(DE3) which can use the T7 promotor.