I keep seeing this phenomenon even in game logs from high ranking players.
Someone gets to turn six, they have two terminals in their deck already, there are no +Action effects on the board, they get a bad draw with only 2$.... and they buy Herbalist. They don't even have a gold in their deck and they're buying TERMINAL COPPER to conflict with the actual useful actions in their deck. Oops.
It's turn nine, a guy plays two Worker's Village and draws his SINGLE Goons. He buys a much needed Gold.... and three Coppers. The game is at least ten turns from ending and his inability to hit NONE just gave his deck a REVERSE CHAPEL TURN in trade for an almost irrelevant amount of VP chips. Oops.
A guy has a nice Hunting Party or Golem stack going. He gets a random low money turn and buys a Spy, or a Pawn, or a random unique action. The card adds almost nothing to his deck but his amazing deck search actions are going to happily dig it up for mediocre effect when they should be finding game breaking actions or money for Province. Oops.
It's turn six and a guy gets Saboteured and, WHAM, gets unlucky and loses his brand new Mountebank. The player goes into auto pilot mode and takes an Estate as replacement. Oops.
Don't let this happen to you! When you're looking at your $ and your buys for the turn ALWAYS consider None. It definitely isn't always the best buy but it is sometimes. Do you have two Smithies and no Villages? Don't buy that Pawn! It gives you almost nothing and can turn your Smithies in to Moats. I know that Pawn is OFTEN better than nothing but you shouldn't be considering whether a card is generally OK, or better than Silver, or you've won with it in the past. You should consider how it will help your specific strategy win or lose the game.
Just because you CAN gain a card doesn't mean you SHOULD.