I'm just under 5'1 which means that even petite size clothes (made for people under 5'4") are still several inches too long for me. All of my pants are rolled up 2-3 times at the cuff. All of my pants need to be hemmed and that can get expensive if I have them professionally done, so I do them myself when I can. When I have the time, I use a technique that keeps the original hem line.
Step 1: BoM
Pants that need to be hemmed
Sewing machine (16-20 size needle)
Thread (heavy cotton or jean/denim-specific thread)
Step 2: Measure
To figure out how much of the legs you need to take off, try the pants on and if you can, have someone help pin the cuffs up where you want them. Take off the pants and then measure the length that is pinned. If the length is 5", then you want to fold and repin the cuffs about 2.5" up the pant leg. Repeat this for the second leg. Try the pants on and make sure the cuff line is where you want it.
The second cuff on these pants (pic 3) were already rolled up when I started, the roll was fairly accurate, but I still needed to iron them to get a more even edge (pic 4). Ironing before you start is generally a good idea.
Step 3: Pin
When you have your measurements and the ironing is done, work around each cuff to pin the fold in place. I used my measuring tape to make sure the fold was 2" across all the way. I used binder clips to hold the folds, putting the first clip over the seam (pic 2), making sure the lines matched inside the fold. Pay particular attention to the seams to make sure they are even.
Step 4: Sew
I used a simple straight stitch. After threading, I set my machine to the correct settings and got started. You want to sew as close to the original hem line as you can. I usually go around two or three times, particularly if my first round isn't as straight or as close to the original stitches as I'd like.
Pictures 6 and 7 are the pictures of the hem after I was finished sewing.
Step 5: Cut
Try the pants on again and make sure everything is kosher. Then remove them and cut the excess material that was folded up. Some people trim the excess before they sew, but I find it a safer bet to cut after you've done your stitching and are sure the lengths are accurate. You can always tear out your stitches and resew, but it's much harder fabric that's been cut.
You may want to stitch over the cut ends to prevent fraying, but you can also use something like Fray-Check.
Step 6: Iron
Iron the new hem line flat so the original seams don't pop up or fold over.