While caller ID is great for landlines, cell phones don't get such a luxury. Unless the contact is in your phonebook, all you've got is an incoming number to guess who's calling. I often simply type the number into Google to get the answer, but if that's coming up short, you can give Reverse Mobile a try.
The service lets you do a reverse lookup on any number free of charge. If you want some more advanced information such as the caller name, address, and phone carrier, it'll cost you a one-time fee of $30, or you can get an all-you-can eat annual subscription to look up as many numbers as you want for $10 more.
In addition to phone records, the same company does civil records and background checks, both of which aren't nearly as useful on a day-to-day basis.