Most of them are discovered by people playing around with objdump, digging through the assembly code and looking for oddities, then the exploits are generally developed with the metasploit library. You really have to be able to read 64-bit assembly to do this.
If you really want to know how a lot of exploits are found and developed, there's a great book out there called "hacking the art of exploitation" by Jon Erikson.
As for why they're coming at us faster, I blame android for making Linux a more tempting target.