I tend to use GPL for fairly pragmatic reasons. If I've written some software - typically voluntarily and without payment - and put it out there for others to use then I would rather that the code remain in the public domain where improvements can be made which benefit everyone, including the original author.
Just curious - how many actual improvements were made to your GPL'd software and how many of these in your opinion would have not been made public if the license was different (say, BSD)?
It's always difficult to know exactly what people do with the software once it's out there "in the wild". Many of my projects are just curiosities with no other contributors, but a few have had many improvements submitted - some of them quite substantial. My guess is that if the GPL projects used BSD this would not make a big difference, but it might limit the ability to combine my own code with other GPL'd algorithms. The predominance of GPL as a FOSS license means that adopting it basically maximises the potential usefulness of the code, and since IANAL I'm not really qualified to judge compatibility between different sorts of licenses.