"Let It Be" was a massive hit and has become one of the Beatles most popular songs, but John Lennon hated it.
The reasons are multifaceted. The clearest line can be drawn to the infamously contentious recording sessions for the Let It Be album.
By this point in their career, the Beatles were constantly fighting, with Lennon later describing the experience as “going through hell.” While Lennon and Paul McCartney had always maintained differing writing styles, their creative desires had pulled them further apart than ever before. Paul McCartney grew tired of Lennon’s experimentations, while Lennon called McCartney’s brand of storytelling songwriting “granny music.”
It should come as no surprise, then, that Lennon was immediately dismissive of the idea his songwriting partner brought to the studio in January of 1969. Explaining that he’d been inspired by a dream in which he’d seen his deceased mother, McCartney launched into the now-familiar phrases of “Let It Be.” Lennon was unimpressed, feeling that the style didn’t suit the band.
Source: ultimateclassicrock.com