Searching for various examples / counterexamples for sheaves, it is sometimes helpful to look at partially ordered sets with poset topology: a set U is open iff "x in U and x less than y" implies "y in U". But for such topological spaces the category of sheaves of abelian groups has enough projectives. The sheaf Z_{\ge x}, the extension by zero of the constant sheaf on the open set {\ge x}, is projective. Indeed, Hom( Z_{\ge x}, F) = F(\ge x) = F_x, the stalk at x, so Hom( Z_{\ge x}, *) is an exact functor. And any sheaf F is a quotient of direct sums of these: take one sheaf for each element of each stalk F_x. (I see that this is essentially the same as what David Treumann wrote below).