Part of the reason is the 5,000 Islamic terrorists the CIA has been taken out of circulation (by death or arrest) since 2001. Even more have been taken out of circulation by other nations. The FBI has had less success inside the United States, arresting fewer than a thousand people, and successfully prosecuting about 230. But this FBI activity has apparently sent a message to potential Islamic terrorists in the United States, and scared many of them off.
Another reason is the informant network established within the Moslem-American community. For every suspected Islamic terrorist arrested in the United States, some ten Moslem-Americans have joined the military, FBI, CIA and similar organizations involved in the war on terror. While many Moslem-Americans oppose the invasion in Iraq, very few of them support Islamic terrorism. All this is not really new. Even the September 11, 2001 terrorists were warned to stay away from Arab-American communities, because of the number of people there who would call the cops if they suspected there were terrorists in their midst.
Since September 11, 2001, it's been a hassle to be an Arab, or anyone from South Asia or the Middle East, anywhere inside the United States. If you look "Middle Eastern," you get extra attention. As long as this kind of heat is on, potential Islamic terrorists apparently feel the odds are too much against them to risk an attack. It's also noted that convicted terrorists tend to get life sentences, to be served in very austere, maximum security prisons.
It's also been harder to get a visa to enter the United States, although this is somewhat moot because a determined terrorist can still hire a professional people smuggler to get him in via Mexico, or even Canada. Thus one must credit increased alertness of all Americans, and especially those in Moslem-American communities, for doing the most to prevent another attack. But the alertness is already beginning to fade, and the potential for another attack remains.
Why haven't there been more Islamic terrorist attacks in the United States since September 11, 2001? Just one such attack, of any magnitude, would have been hailed as a great victory for al Qaeda, and Islamic terrorists in general. Considering the large number of Moslems saying they agree with Islamic terrorism, and the thousands who have volunteered for such suicide attacks all over the world, you would have thought at least one such attack would have taken place in the U.S. since 2001. It's easy enough to obtain a gun or explosives in the United States. There are many states where it's legal to sell large firecrackers that non-Moslems have assembled into credible bombs. An explosive vest can easily be made. On the Internet there are instructions, in Arabic, for how to make a detonator. Gunpowder is easily obtained as well, and you can still buy large quantities of fertilizer, to make a really large bomb. There is still easy access to the outsides of many prominent structures. You can kill lots of people in such places and make your point. The means are there, but where are the people with the will?