There are a lot of differences between them. The cross product can be thought of as a map from R^3 x R^3 to R^3. In other words it takes as input two 3-D vectors, does something to them that produces a third vector in R^3 that happens to be orthogonal to both of the input vectors. The cross product is defined only for 3-D vectors.
The dot product is much more general, and is one example of an operation called an inner product. A vector space with the additional structure of an inner product is called an inner product space. The dot product you're probably familiar makes R^2 and R^3 (and R^n) inner product spaces. Besides vector spaces, function spaces can have inner products defined for them, and they can be defined in a variety of ways: as a sum or an integral or as a product of matrix multiplication. In all cases the inner product results in a number, so can be thought of as a mapping from V x V to a field such as R.
If you search Wikipedia using "inner product" or "dot product" or "inner product" you'll find a lot more information.