There are several reasons. The most fundamental is the nature of security. Imagine you want to keep intruders out of a building: You must protect every door and window. But an intruder only needs to break into one. Attack is always easier than defense. Second, as others mentioned, there are thousands of potential attackers for every CIA agent.
Third, and this is a good thing, the CIA can't operate in US territory. Only the FBI, under much tighter legal restrictions, can. And although they are communicating better than before 9/11, inter-agency communication is always a challenge.
Fourth, you don't know how often the CIA and FBI succeed. It is likely that they have stopped hundreds or thousands of attacks per year. It's not fair to measure only by the ones that get through, and, for security reasons, we can't get all the data.
Lastly, and most importantly, we choose to live in a free country. Tamerlan, the older brother in the Boston Marathom bombings was a suspect, but was still allowed to visit his homeland in Russia and Chechnya. Would you want the government to say, "We think you might be a terrorist, so you can't go home and visit family?" I write more about terrorism as the cost of freedom in my hub: Boston Marathon Bombings: The Cost of Living in a Free Society.