Several people on my team were opining to just comply because it's the easiest way to do and they were concerned about their job security if they would go "against security".
My takeaway from that experience was that the people in charge of corporate security policies and audits are not experts in security, they are experts in reshuffling responsibility and covering asses. And many developers are easily cowed by them.
The result is compliant software, not secure software.
Often times companies go through this with internal processes as they grow, and some grow out of that phase.
Other times (especially at even larger companies) processes are adopted "from the industry". While not necessarily bad, it also requires flexibility from feedback. In parent's case, auditing to ensure sensitive data is encrypted to a minimum standard is reasonable , auditing to ensure any encryption is limited to a very narrow set of algorithms is not.
I worked on a project once that contracted out security audits to HP and those were distressingly not good security audits, just vague automated checkbox-checking of a list put together with zero context.
You'd be surprised how many people come up with this then don't think any further.
This is the kind of solution I see from new grads with no crypto/security experience, but whom with a quick frown, think about it a little more and suggest why this is a bad idea. Many can do that even when they don't know how exactly to do it correctly.
This was just lazy/rushed or dare I say it, negligent.
Definitely they didn't follow the one and only rule of security: don't roll your own.
That said, the much greater problem is the idea of using a hard-coded key, instead of generating a unique key for each device/installation.
Ask this question instead: Why bother to encrypt them in the first place?
What is the attack scenario you are trying to defend against? This is local software - it need to be able to decrypt the key and use it to login.
So at the end of the day it's the same machine with the password and the key to decrypt the password. It seems pretty pointless to even encrypt them in the first place.
So why do it? I don't know, maybe just to make it marginally harder to see the password. If that's the entire goal, there isn't really any reason no to use a hardcoded key - it accomplishes that goal just fine.
Ask yourself this: What attack scenario would a different key per machine defend against that a hardcoded key would not?