I know this has been a topic many times, but I'd like to look at it from a different angle than most. Most searches and threads have turned up the answers "why not?" or "it doesn't hurt" when it comes to adding self-referencing canonical tags.
My response would be well we have to spend the time and money to have it done. So it can hurt.
In my particular case, I personally built a full CMS. I set it up as well as I could using 301 redirects when page's urls change. Pages don't use query strings. Properly done sitemap. www is always added to domains if not present. Someone in our SEO department read something online and interpreted it as "search engines want you to always have canonical tags on every page." I asked to see the article and the author came to the standard conclusion of "I do it because... why not?"
No where have I found any evidence that a site will be penalized for not having a canonical tag on every page. So in our case I don't think it's worth our time to go through all of our clients sites and add the tags. We would be having lesser experienced employees going in and messing with the code to do it. I just feel like there is way more that could go wrong than could help.
Does anyone have any for sure evidence it helps?