O-Powers are special powers that help you along in your adventure. They come in several different varieties: Powers that might raise your Pokémon's stats temporarily, powers that make it easier to encounter wild Pokémon, powers that let your Pokémon gain more Exp. Points, and powers that produce more prize money after battles.
You don't have to keep your O-Powers solely for yourself, either. You can choose to use them on other people around you, and you can receive them from other people who are using them on themselves.