I battle competitively frequently on simulators. I prefer casual battling, however.
Competitive battling address many problems which casual battling doesn't: how to deal with broken/unfair mechanics, establishing a means to use weaker pokemon (tiers), and it's easier to find people who are of your skill level.
Things I prefer about casual battling: You can use whatever pokemon you befriended on your journey without obsessing over having the perfect everything. Using an outclassed pokemon isn't a bad thing. Things are a lot less predictable.
Even though I like casual battling more, I rarely do it because, when I do find people to play against, the levels of skill are too great. It's hard to know the skill level of your opponents. Some casual players use random story mode stuff with redundant movesets, such as the guy I played who had both Thunderbolt and Thunder on his set. Some casual players use teams full of legendaries, with thought-out movesets and multiple copies of leftovers... yet have casual natures/IVs.