I want to detect how a bullet collides with a box, and i have those 3 ways to do it.
Well, i think detect collision is a waste of cpu (what I read), but i dont know if is better to detect when the bullet enters on the trigger o cast a ray who hits the collider.
Thanks in advance 
My personal rule is that if the Collider in question doesnโt need any physics interaction, just use a trigger. If it also has physics interaction, a collider is ok, but sometimes my objects will have a collider and a trigger just to keep some standard behaviors between different objects.
By the way, you can use a raycast with a trigger using the queryTriggerInteraction argument.