In my experience most of the clients use a "Single Client" approach for doing customization (customizing requests) and if ABAPer needed to change code (workbench requests) in the same client and transport it through the landscape.
At my present client they have 2 clients, one for customization and another for ABAPers, challenge is that if ABAPer need to do customization as part of the task along with code change they have to go back and forth. And both clients are not consistent. I am proposing one client approach. Wanted to make sure before I do it the pros and cons?