We see that towards the end of Episode 146 and in Episode 147, Luffy and Zoro don't fight back against Bellamy although they could have easily beaten him. Why is that?
As a guy on Reddit put it:
It goes back to Shanks when he was in East Blue. The bandits did the same thing to him and he didn't fight back either. Zoro was simply following the command of his captain. Luffy said don't fight back so he didn't fight back. Luffy however wasn't fighting because there was no need to fight them. He later however did "fight" Bellamy when his friends were attacked by Bellamy, similar to how Shanks and crew fought for Luffy when the bandits attacked Luffy.
Hence, Luffy didn't retaliate because:
Luffy was inspired by Shanks' decision to not fight back in the past without a reason
Bellamy wasn't standing in the way of Luffy's goals or had hurt any of his friends (until later in the series). Luffy being the kind of guy he is, only picks fights when his friends are hurt or somebody stands in the way of his goals.
He seemed to lose interest in Bellamy when Bellamy claimed that "The pirates' dream era is over" and started depreciating pirates who believed in the City of Gold, The Emerald City and the great treasure of One Piece.
As for Zoro, as stated, he was simply following the captain's order.
Emerald is wrong. That scene was the anchor for the rest of the mini-arc on that island. The mini-arc is about dreams; it’s about what makes them ethereal and why something you can’t touch is more defining than something you can.
In episode 151, Nami asks Zoro, “Hey - Zoro, why didn’t you fight those guys?” To which Zoro replies, “They weren’t standing in our way, you know. Fights that leave nothing but sympathy are rough.” What Zoro means is that Bellamy and the rest of his crew weren’t hindering Zoro or Luffy’s ambitions (to be the greatest swordsman, or be the king of pirates).
Ashigup’s answer hits the nail on the head. Later on Luffy calls the old-man his friend. The reason he goes back to fight Bellamy is because he knows that the gold city is the old man’s dream, and by stealing his gold, the only proof that held the old man’s dream together, Bellamy had spat on his dream. It wasn’t about Bellamy hurting his friends. Luffy stood by as he and Zoro were punched and kicked by Bellamy. It was about tarnishing their dreams.
Luffy is an idiot in a lot of ways, but his sense for what is pure is incredible. He believes in friendship, dreams, and dying for what you believe in. This is just one way the author illustrates that for us. It’s hard to see that if you don’t believe in dreams yourself.
Towards the end of that episode one of Bellamy’s crew yells to Luffy, “Hey Strawhat, where are you going? I’m still here!” Bellamy knocked out in the background by Luffy’s one punch Luffy replies, hands bloodied from knocking out Bellamy, “Where am I going? To the sky!” This is the point where the theme of the mini-arc is brought home: “A person’s dream may not weigh as much as a gold ingot, but it’s worth more than any gold ingot.”After all, One Piece is an ode to dreams.
I Don't agree with the previous answer. What happened to shanks, was that the bandits talked shit about pirates and poured alcohol on him. But here both Luffy and Zoro get more than that. When they get back to the ship they are covered with wounds and blood. And at first Luffy was about to kick his ass, but then for some reason he stopped.
It felt more like nonsensical BS the author came up with thinking it would look cool and mature. "only picks fights when his friends are hurt or somebody stands in the way of his goals"????? Zoro was also attacked, why didn't he fight them then!
There was no deep meaning there. It was just a stupid scene.