Es un americanismo que en México se usa como "tonto" o para calificar algo "desagradable, inmoral", que probablemente sea una consecuencia de su uso como colombianismo por "gay, varón homosexual, en especial para un bufarra". No se conoce su etimología, pero teniendo en cuenta que existe el despectivo caquero (de caca) para nombrar al ano, puede haber una asociación con el varón sexualmente activo que practica la sodomía en otro pasivo.
-
Usado así en Colombia
"Explíqueles a los europeos que vienen a Medellín de turistas qué es un cacorro. -Un homosexual activo. -Como la actividad puede ser mutua, su explicación no explica mucho. Muy confusa. (Fernando Vallejo)"