Python 3 (Cython), 4446 44 31 bytes
lambda x:__import__('itertools').product(*x)
The absolute itertools.product
solution. Shorter than the other Python answers.This doesn't need more explanation, right?
(Initial-13 bytes thanks to f=
removed perJo King; -2 bytes thanks to caird coinheringaahing's comment)