Cazzaro è una persona che dice cazzate, cioè bugie e frottole.
Fancazzista è chi non fa un cazzo, che è un modo volgare di dire non fa niente (nel senso di: non è attivo, non lavora, non svolge nessuna attività).
Sono parole che possono essere usate comunemente come 'stupido', 'idiota', 'imbecille' e così via?
No. Stupido è una parola "poco" volgare, che si può pronunciare anche in presenza di bambini. Idiota, imbecille, cazzaro e fancazzista hanno un tono molto più volgare e offensivo.
Inoltre, c'è una differenza di registro tra questi termini: delle tre, stupido è una parola che si potrebbe sentire (anche se raramente) in un telegiornale e in altre comunicazioni dello stesso registro. Invece imbecille, cazzaro e fancazzista si trovano solo nella lingua parlata popolare.
Inoltre, questa è la prima volta che incontro la parola cazzaro (sarà perchè vivo al Nord?). Nel linguaggio popolare non ho mai sentito parlare di cazzaro; invece, fancazzista è di uso piuttosto comune.