There's yet another layer of complexity, too. In most cases, ownership of each object is almost totally independent, unless you have set up a strict master-detail relationship. (Really.) This means that ownership of an Account is more or less independent of the ownership of Contacts or Cases at that Account. The specific rules used to determine the privileges are typically independent, and the record updates are independent unless you've written some of your own code to update child records to "follow the parent." (Really.)
Commentary: Why CRM Implementation Is So Political
This means there are tons of opportunities for erroneous ownership. For example, the GM account may have moved to a new sales team. That doesn't mean the leads, contacts, cases, opportunities and ancillary records have been moved-or that they should have been moved. That's all a matter of internal policies, and the CRM system won't enforce any of those policies unless, of course, you have written an application or magical query to do so. Since the owner field is used in all kinds of internal CRM computations-determining when and why a lead should be transferred from inside sales to an outside representative, for example-erroneous record ownership can have some surprising ramifications.
Solve the CRM Data Conundrum With Governance
Since you can't depend on the CRM system to automatically keep all this up to date, you need to set up governance system to manage it over time, even in the smallest CRM instances. In most cases, it doesn't need to be a big committee. Typically, this can be handled by one or two people.
The issue, then, is who. It should be someone with system administrator privileges and skills. This is almost purely a data issue, so a bunch of spreadsheets or a smallish database will be the tools of choice. But there are different flavors of SysAdmin, so keep that in mind.
In my experience, this is not something that should be handled by marketing or finance. Even if they have the skills and information, they just aren't part of the team that has skin in the game.
Typically, sales operations is the right department to handle this. It's constantly interacting with the Folks Who Really Care, and it has access to the Folks Who Make the Rules. If your organization puts support and professional services at the top of the power structure, then this task should be owned by the SysAdmin closest to the support team.