Technically there's no difference between the government deciding to:
1. give everyone who does X US$300
2. give everyone who does X a US$300 tax credit
Both rely on the collection and disbursement of government revenue, which is typically accomplished via taxation.
However, 1. does not introduce any new clauses to the tax code. 2., by contrast does, and it generally functions as a slow steady drip, drip, drip of new clauses.
We therefore end up with an extremely complex tax code, instead of a simple tax code, and legislative acts to pay people for doing things we choose (via political process) that we want done.