As for lists, what about list separators and their affect? ... but each title has the same format of "red widgets, history, reviews, information"
Personally, I usually try to use either proper English or programmatic separators depending on the situation, and that usually determines how I do it.
Here are some examples: If I have Product Info Business I would probably do something like: Product: Info | Business
Product = "Keyword" : = 'Defined As' Info = 'Expanded Definition of Product' | = OR in Programming Business Name
So, the above title would break down to: Product Defined as Info or Business Name
If I have a list of words rather than Info I would do something more like: Product (KW1, KW2, KW3) | Business
Using () for grouping a list of definition words is basically the same as : for the information listed, only different.
For this: red widgets, history, reviews, information I would probably do: Red Widgets: History, Reviews, Information
Red Widgets (History, Reviews, Information)
I would NOT do: red widgets, history, reviews, information
I would use proper structure to communicate KeyWord (About KeyWord) rather than what is basically an equivalent list... You're trying to rank for KeyWord and present History, Reviews Information... You're not trying to rank for KeyWord and History (the word itself), etc. So, I would personally 'sub-set' the other words in the title in some way.
As far as special characters for separators, I do use them occasionally just to attract attention to the title as someone stated above... It's really situational for me and depends on what I'm trying to communicate to visitors and search engines.
I usually use | to define multiple options as in This Option OR Another Option.
I'm not sure if it helps with rankings to do it the way I do or not, I haven't really tested, because I don't like changing my title after it's set, so I came up with a system for titles and that's basically what I work with.