AABB collision detection is very popular. Pixel-perfect detection is also quite popular but is typically drastically slower than AABB detection.
With 2, you can use a quadtree or similar structures to avoid the O(n2) comparison of every object against each other.
1 may end up holding you back when you want to have different art/colors, but I can see some advantages (such as easy pixel-perfect destructible terrain like Worms)
It mostly depends on the game(s) you are planning to make; you probably shouldn't decide on one catch-all method.