No PCB/schematic layout software is going to have every component you might use--at some point, you're going to need to be able to add your own parts to the library.
Fritzing is free and Free. However, my understand is that it's very limited as far as what you can do with it--exporting Gerber files to have boards made or regular schematics, as I understand, simply aren't possible. OTOH, it can output a nice picture of how a breadboard setup will look, which can be convenient. It's said to be very easy to use.
) is free and Free. It doesn't suffer from the limitations of Fritzing, but reports I've seen suggest very poor user interface design.
Eagle is commercial, closed-source software, but a limited version is free to use. The limitations are that the board can be no more than 8 x 10 cm, with no more than two layers. It's pretty widely used, so there are lots of parts libraries available, and lots of online support in the way of forums and tutorials. The user interface isn't very intuitive, but I understand it's quite powerful once you really get used to it (I'm not there yet).
) is also commercial, closed-source software, and also has a limited version that is free to use. The limitations are no more than 300 or 500 pins, and no more than two signal layers on the PCB (any number of power or ground layers are allowed)--the board size is unlimited. It's not as widely used as Eagle from what I can see, but seems to have pretty good support available. The developers have a pretty extensive tutorial available that walks you through designing a schematic and laying out a board from the schematic. The UI seems, at least to me, to be a bit better than Eagle. I understand that it's possible to import part libraries from Eagle, but I haven't tried it yet.