I liked the campaign of Halo 3 better because there actually seemed to be a level of mystery and development. In Halo 3, it's all about solving how to win the Human-Covenant War and destroy the flood. Decisions are made and it just seems like a more developed story. Halo: Reach, on the other hand, seems to be a lot like CoD in that the story is: kill all enemies, move on to next battle. There are little to no twists in the plot. Now, I know that we were technically supposed to know the ending, but they still could have done more. Perhaps the story could have elaborated more on the Forerunner structure, such as having a mission where they explore in to it and make a groundbreaking discovery.
Halo: Reach, however, by far has the best multiplayer experience. There is really no limit to what can be done: forge, matchmaking, co-op campaign, and firefight. Equipment in multiplayer has been vastly improved (no longer the pointless shield regenerator/destroyer) so that it is more beneficial to the player using them. And, don't forget how awesome the new weapons are, especially the Covenant ones.
Anyways, I believe that as long as I have xbox live, I will enjoy Reach more, but once my 'live runs out, I'll probably end up playing more of Halo 3.