First off, not all ransomware are created equal: just like any software, some ransomware is well-written, while some are poorly-written. You can get an overview of major ransomware variants on wikipedia/ransomware. Some ransomware - notably CryptoLocker - do use lists of file extensions to decide which files to encrypt, and why not? Users knowledgeable enough to change their file extensions probably have backups and won't pay you anyway. As @usr points out, you can still get a lot of people with simple approaches. That said, some ransomware, like CryptoWall, is very sophisticated, and while I don't know how it works, I can speculate on what's possible.
As you say, files often contain a "file signature" - a short hex code near the start of the file that indicates what type of file it is. Here are two lists of these "magic numbers" from Wikipedia: [1], [2].
The Windows OS itself relies quite heavily on file extensions in the file name and is notoriously brittle if you change it, but that doesn't mean all software needs to be so terrible.
For example, there's a standard Unix utility called file
that will look at the magic number and tell you what type of file it is, there's no reason ransomware can't do the same.

C:\Users\TheirName\Documents
or inC:\Users\TheirName\Desktop
. So, why not just encrypt every file in those two locations... looking for extensions doesn't make sense if you ask me. – Damon Nov 3 '16 at 14:40