The reason? WB is placing the blame on the writer's strike, and also citing monetary reasons (though in less direct words). From Market Watch:
In making the announcement, Mr. Horn stated, "Our reasons for shifting 'Half-Blood Prince' to summer are twofold: we know the summer season is an ideal window for a family tent pole release, as proven by the success of our last Harry Potter film, which is the second-highest grossing film in the franchise, behind only the first installment. Additionally, like every other studio, we are still feeling the repercussions of the writers' strike, which impacted the readiness of scripts for other films--changing the competitive landscape for 2009 and offering new windows of opportunity that we wanted to take advantage of. We agreed the best strategy was to move 'Half-Blood Prince' to July, where it perfectly fills the gap for a major tent pole release for mid-summer."None of that makes any real sense. HBP isn't really a "family" film. It's very dark, and characters are getting cursed and killed all over the place. HBP is geared to, at minimum, 16 year olds, being the 6th in the series (Rowling has mentioned multiple times that the books are meant to grow with the readership, just as the characters grow; meaning you read the first when you're 11 (the same age as the main characters), and so on). Aside from that, Thanksgiving is a huge time for movies in theaters. It's possible they're worried about competition from Twilight, which releases just a few weeks after the original November date.
Fans have, admittedly, been worried about the film for a while, so it shouldn't be coming as too big of a surprise. The teaser was taking a while to come out, as were photos. But then why release a trailer? And why release a dated trailer and then just 2 weeks later announce the film won't be out for another 8 months? It just doesn't make sense. The video game is dated November 11. I wonder if this will be pushed back as well? To be perfectly honest, the whole excuse sounds like, well, an excuse to make more money. Which, I mean, I understand the point of a business is to make money, but.... The film should be finishing up, so they'll have a finished film (maybe not in November, but pushing it back to just December probably would have been fine), and then I guess they'll just sit on it until July. It's a horrible way to treat the fans, as well.