There are at least two good reasons. One is that it expands overall government spending beyond what people would otherwise rationally pay. The other reason, and it's related to the first, is that it reduces the accountability of local officials, who can say to residents "Look at all the good things we're doing for you," while having their decisions subsidized by someone else.
A similar logic applies when the U.S. government transfers money from one state to another for simply local projects. Further, it diminishes the political significance of states as entities with their own, unique powers (Tenth Amendment, anyone?), and puts us further down the road to the day when states are merely administrative units of a national government.
Political decentralization has many benefits, including offering a safety valve.(How high would Minnesota taxes be if legislators didn't have to keep in mind the more favorable tax climates of South Dakota, Texas, Florida and so forth?)
I understand why local officials would seek federal grants. To paraphrase an advertising slogan used by state lotteries everywhere, "Someone's going to win; why not you?" But when we win, we also lose.