Acho que este link explica os dois módulos detalhadamente.
Em resumo, o módulo limit coloca um limite no número de vezes que uma regra pode ser correspondida. O módulo recent permite criar uma lista dinâmica de IPs e, em seguida, usar essa lista para corresponder em outras regras de forma diferente (fazer NAT especial, negar acesso, etc.).