The Pirates don't win because their ownership sucks. They don't want to spend money and are constantly in "rebuilding" mode: ie, they constantly trade for more minor leaguers to rebuild their system when they don't have to.
The Pirates could win if they had a decent owner. The ownership is all over the places, with different people have different parts in it and, in short, it's a mess.
Basically, the Pirates' ownership pockets the money and won't dish any out for their team. That's the difference between winning teams and losing teams -- winning teams have owners who care.
I've said this before and I still firmly believe it: if the Pirates ownership sold the team to Mark Cuban, the Bucs would be a winning team. Pittsburgh would be a powerhouse. Steelers, Pirates, Penguins, Panthers (University of Pittsburgh, for basketball).
But the owners don't want the Pirates to win, so they won't sell to Mark Cuban. Their excuse is that they think he'll take the team out of Pittsburgh (and other petty things), but it's so far from true. Cuban would leave the Bucs in Pittsburgh and he'd make a pretty mint from them too. The difference is that he would invest in the team.