you go for union when you have two possible language generated by grammar Suppose you have to Generate a language over {a,b} having different input in initial as well as final..here first language starting with either a,b and end with a,b...i hope u got it...
and you go for cross product whenever two different language generated by grammar adding with either OR,NOT,AND...