It depends on the type of content.
Is the content dynamic, likely to change, likely to have repetitions of the same types of information, time dependent? I’ll probably use a custom post type.
Is the content unlikely to change, or only needs one instance of the information set (like a logo, Google analytics code, social media usernames, etc)? Theme options.
There is another option that’s sometimes viable: custom post meta-data. I’m working on a site right now where one of the pages has a list of FAQs set up in an accordion-style interface. My plan is to set up a custom meta-box specifically attached to just that page to hold the key-value pairs for the FAQs. This could be set up as a custom post type, but I’m setting it as custom post metadata. I figure this will be easier for my client, rather than having to learn, remember, and find yet another UI element.