Diferente do join que faz as ligações necessárias e monta a query o union executa duas ou mais queries distintas e retorna o resultado em sequencia.
Por exemplo, se no banco de dados existe duas tabelas uma para compra e outra para venda e quer ver os registro de movimento dos itens de cada tabela usa o union para fazer essa consulta buscando em uma e depois na outra.
Também é usada para determinar o menor preço de venda onde existe uma tabela de produto, outra de preço, outra de promoções com algumas diárias e outras mensais. Pode se fazer a consulta ligando os itens com essas tabelas separando ou tipos e depois juntando tudo com union para a comparação.
Veja também: Quais as restrições no uso de union?.