Le due estensioni non fanno la stessa cosa.
iMacros, come suggerisce il nome, permette di eseguire delle macro in modo automatico o manuale. iMacros agisce lato utente, consente cioè di eseguire automaticamente azioni che l'utente normalmente compie manualmente utilizzando mouse e tastiera.
GreaseMonkey permette di eseguire automaticamente del codice javascript relativamente alla pagina aperta in quel momento su Firefox. GreaseMonkey agisce lato contenuti, consente cioè di interagire automaticamente con la pagina Web richiamata da Firefox.
Esistono degli ambiti in cui il medesimo compito può essere assolto sia da iMacros che da uno script Greasemonkey, ad esempio se devo estrarre dei dati da una pagina web.