How is the man supposed to confess when at every turn, he's forced to hear some speech about Sakura's feelings? It's not his fault. Naruto busted his ass, and he got walked all over for it.
Bashing Sakura, a ficton character, is not going to help anyone. I could easily argue it is Naruto's fault for not putting his love for Sakura before his obligation and bromance for Sasuke, or Sasuke for making a move on his best friend's love interest. At the end of to he day, the only guy responsible for all of this is Kishimoto. He paired SS up to make an entire NH movie.