WS2812 based strips are the most common, and are widely supported. On the plus side, you only need one data line to control a strip. On the down side, they use a timing-sensitive protocol which generally means that your controller spends a lot of CPU time managing that communication. Generally speaking, it's not a problem, but that might depend on your particular application.
You might want to try APA102 strips:
https://cpldcpu.wordpress.com/2014/08/27/apa102/Adafruit calls these "DotStar", and you can, of course, find decent prices on sites like eBay or AliExpress. They apparently have better color overall color resolution and faster PWM than WS2812 modules, but cost a little bit more. These use separate clock and data lines, so your controller can drive them as fast as possible, without worrying about sensitive timing issues.
LPD8806 strips are also pretty popular, might be slightly less expensive, and have good library support since they've been around for a long time. They also use separate clock and data.
For controllers, you might look at the FadeCandy board, or maybe the Octo WS2811 and Teensy 3.1.