Left here for historical reasons, basically. If you're looking for a beginner method, use the new one.
Basically copied from here, and turned upsidedown for easier progressing to more advanced methods. There's a lot more indepth explanation about the various stages on Jasmine's page, so check there if you're having trouble with the beginner method.
Most of the algorithms I originally learned use moves on U, F, L and R only, because I don't like doing moves on D or B. This method reflects that. My new beginner method uses B moves as well, as the new beginner algorithms are more compatible with learning the more advanced methods.
The first stage in solving the cube is solving the white cross. The end result should look like this:
All that's done here is that the edge cubies that have white in them have been moved next to the white center cubie. Note that also the nonwhite sides of the edge cubies must match the nonwhite center cubie they are next to! There are no algorithms for the white cross, you'll just have to figure it out.
After this, turn the cube upside down. The algorithms and the rest of the images are based on the yellow face being up. Or you can build the cross with the white face in the bottom to start with; this will make progressing easier later.
More indepth information about solving the cross can be found here.
Next we drop the first level corner cubies in place. This requires 3 algorithms, 2 of which are mirrors of each other. The mirror algorithms are so simple they're not really algorithms at all.
Start by moving the corner cubie you want to put in the right place directly above the right place, like this:
The algorithm you need to do depends on which way the white face of the corner cubie is facing:
White is on..  Apply algorithm: 

U  R2 U R2 U' R2 
F (like the example image)  F' U' F 
R  R U R' 
Repeat for all four corners.
After the previous stage, you should have something that looks like this:
Now, find an edge cubie that needs to be in the second layer, but is currently in the last layer. Move it so that the colour on the side of the cubie matches the R or F face center cubie. After that you can one of the following algorithms:
U R U' R' 

U' F' U F 
Note that the start and end halves of the algorithms are identical, just in different order.
If you end up with a situation where the cubie you need is already in the second layer, but in the wrong place or incorrectly aligned, use one of the above algorithms to move just any cubie in its place. This will lift your cubie into the last layer, and you can deal with it with one of the two algorithms.
There are several ways of solving the last layer; one can choose to position or align the edges or the corners first, or to do the positioning and aligning at the same time. This beginner method includes an extra step(the yellow cross) for clarity.
Create a yellow cross on the last layer. The colours on the sides of the edge cubies in the cross don't matter at this point. There are four possible patterns that you may see on the last layer before doing the cross:
If you see this..  ..do this: 

F U R U' R' F' 

F R U R' U' F' 

Do either of the above algorithms, and you should end up with a situation that can be solved with one of them. 
The fourth pattern is the one where the yellow cross is already finished, in which case you can move forward.
Next, we move the last layer corner cubies in their correct places, without worrying about their orientation. At this stage, the cube can be in two states: Either two adjacent corners need to be swapped, or two diagonally opposite corners need to be swapped. If that does not appear to be the case, rotate U until you find such a state.
Once you find a state where either two adjacent or two diagonal corner cubies need to be swapped, you can do the swap by using a single algorithm; The algorithm that swaps the places of two adjacent corner cubies:
L U' R'U
L' U'R U2
If you find a state where two adjacent corners need to be swapped, just apply the algorithm given above. If you find a state where diagonal corners need to be swapped, apply the algorithm once, rotate U until you find a state that can be solved by swapping two adjacent corners, and apply the algorithm again.
Once you've correctly positioned the last layer corners, there's a good chance they are still oriented incorrectly. There are seven possible unsolved states at this stage. Any of these states can be solved by using only two algorithms that may need to be repeated. (actually, one would be enough; you'd just need to apply it more times). The algorithms are used to rotate three corner cubies CW or CCW:
R U R' U R U2 R' U2 

R' U' R U' R' U2 R U2 
If you're cube is not in a state that can be solved by rotating three corners in the same direction, you'll just need to apply one of the above algorithms to get the cube in such a state. From any of the seven states, you need to apply a maximum of two algorithms to get the corners correctly oriented.
I'm not going to go into great depth explaining how it works; you should be able to figure it out. If you're having trouble, see Jasmine's beginner method page, or even the Further tips for LL corner orientation page.
Once the last layer corners are correctly oriented, the only thing remaining is to position the last layer edges to their correct places. If you got lucky, this stage is already solved, but if not, there are two algorithms that you can use to solve the cube:
R2 U' F B' R2 F' B U' R2 

R2 U F B' R2 F' B U R2 

Do one of the algorithms above, and you'll end up with a cube that can be solved with one of them.  
Here also; do one of the algorithms above, and you'll end up with a cube that can be solved with one of them. 
Your cube should now be solved; Congratulations!
Once you've learned the beginner method, you can continue to the intermediate method to learn a few extra algorithms to solve some of the stages in fewer moves.