A pirate was, broadly speaking, a robber at sea. The key detail is that pirates operated outside official permission, which made them criminals to the governments and merchants they troubled. Of course, pirates rarely introduced themselves with that legal summary. They preferred reputations, flags, and surprise.
A privateer was different because a government gave permission to attack enemy shipping during wartime. That permission usually came through a letter of marque. To one side, a privateer could look like a useful contractor. To the other side, the same person could look very much like a pirate with better paperwork.
Buccaneers were associated especially with the Caribbean and originally with hunters and raiders around Hispaniola. Over time, the word became tangled with sea raiding, privateering, and pirate legend. It carries a warmer, rum-soaked storybook flavor now, but the history behind it was rougher.
For shopping and dress-up, the distinction is mostly mood. Pirate says outlaw. Privateer says licensed trouble. Buccaneer says Caribbean swagger. Pick whichever story makes the hat sit better.