With the Decimal type, all arithmetic is integer with implied decimal point. So it can accurately do decimal arithmetic. decimal has 28-29 significant digits depending on the number.
With double, all arithmetic is done in base 2 using floating point math (which can lose precision) and is converted to base 10 on display. This conversion is only approximate because not all base 2 fractions convert to decimal fractions. Double has 15-17 significant digits depending on the number.
double because it’s a digit plus exponent can represent very large and very small numbers.