I often find myself being asked to change a wordpress.org or 3rd party purchased plugin. Editing the plugin directly is generally not a good idea, as any changes made will be lost the next time the plugin updates. And if you choose not to update the plugin and a security vulnerability is discovered at a later date, you may wind up with a comprimised site.
One of the most common changes is to modify text that is displayed publicly on the front end. One of the ways you can accomplish this is with the gettext filter. If the plugin has been properly setup for translations & internationalization, you can easily override this text either by adding some code to your theme’s functions file, or (preferably) by creating a new plugin with those customizations.
An example from the WordPress codex itself:
And a real world example from a recent project: