Velmi se mi osvědčuje metoda založená na prostém používání session. Na stránce s fomulářem je inkludovaný obrázek, který nastaví v session nějaký příznak a po odeslání formuláře se otestuje, jestli je příznak nastaven.
Drtivá většina (neoptimalizovaných) spamovacích robotů přes to neprojde, protože A) nestahují obrázky B) neimplementují cookies.
Podobně lze využít například javascript atp. Pochopitelně to předpokládá, že nad mými formuláři se nevyplatí někomu bádat...
To ale není moc dobré řešení pro uživatele s vypnutým JS, ne? (což může být problém mj. u uživatelů mobilních zařízení, kde ta podpora obecně - mám za to - není zrovna 100%).
Osobně jako uživatel captcha systém také nesnáším (právě z důvodu časté špatné čitelnosti; někdy nejde rozlišit O od 0, příp. poznat, jestli je to velké nebo malé S atd...)