It's definitely not a good idea. People don't like being deceived, and I imagine all of these pages have miserable bounce rates. As a user, imagine clicking on a search result thinking you're getting one company and you end up on the landing page of another. Definitely a poor user experience.
In Google's Quality Guidelines, one of the things they specifically mention is:
https://support.google.com/webmasters/answer/35769?hl=en
- "Don't deceive your users."
As for this site using the competitors names in their meta keywords (outdated) and their descriptions, I don't know if Google has a specific penalty to address that specific issue (maybe others will comment on that), but I do know that Google is looking for accurate information in page titles and other areas of the page to return relative results to searchers.
Overall, it's a bad practice unless done so for legitimate reasons (you are The NY Times writing about new owners of The Washington Post).
Additionally, there's an exception here for AdWords where you can buy a competitor's name and show up for searches in the paid search results. But I'm assuming you're referencing organic search results.
Hope that helps. I know it can be frustrating to see.