The 2x2x2 Rubik's cube consists of 8 corner pieces. All permutations of these are possible, so that's 8! = 40320 possible permutations. Each piece also has three possible orientations, spaced 120 degrees apart (any one of the 3 colours on tha piece can be showing on the top or bottom face.) Detailed analysis will show that if the orientations of 7 pieces are specified, there is only one possible orientation for the last piece's (Rubik cubers call this "twist parity) so there are 3^7=2187 possible orientation states. Multiplying these together, there are 88179840 possible states for the 2x2x2 Rubik's cube. If we consider different rotations of the entire cube as equivalent, we must divide this by 24, giving 3674160 possible states.
The 3x3x3 Rubik's cube has in addition to the above, a centre piece and 6 face centres which do not move. It also has 12 edge pieces, which can be arranged in any of 12!=479001600 permutations. Each edge also has 2 possible orientations, and in a similar manner to the corners, if the orientation of 11 edges are specified only one orientation of the 12th edge is possible (Rubik cubers call this "flip parity.") there are thus 2^11=2048 possible orientation states. Multiplying these together, total number of states for the edges is 980995276800.
There is a third type of parity on the rubik's cube called swap parity, which means that the overall permutation of pieces must be even (ie corners even and edges even, or corners odd and edges odd.) So the overall number of states is 88179840 x 980995276800/2=43252003274489856000 (Because the centres of the faces offer a fixed reference, the division by 24 for rotations of the entire set of corners does not apply.)
This is a large number, but certainly not infinite. For analysis of how to work out the probability, see the other answers to this question.