Agujero vs. hoyo vs. hueco

The Spanish words 'agujero', 'hoyo', and 'hueco' all generally translate to 'hole' in English, but they are used in different contexts in Spanish, each with unique nuances.

Agujero

An agujero refers to a hole that is typically small and round. It is often the result of some kind of puncture or hole-making action.
El gato hizo un agujero en el sofá con sus uñas.
(The cat made a hole in the sofa with its nails.)
Mi camiseta tiene un agujero en el hombro.
(My T-shirt has a hole in the shoulder.)

Hoyo

A hoyo is generally a hole in the ground or surface, and it's often naturally occurring. It's used for holes you might dig, like a golf hole.
El perro está cavando un hoyo en el jardín.
(The dog is digging a hole in the garden.)
El golfista golpeó la bola directamente en el hoyo.
(The golfer hit the ball straight into the hole.)

Hueco

'Hueco' refers to a hollow or an empty space within something that can also imply three-dimensionality. It relates to gaps or spaces, not necessarily due to puncture or digging.
Hay un hueco en mi horario mañana por la tarde.
(There is a gap in my schedule tomorrow afternoon.)
En la pared hay un hueco donde podríamos poner una estantería.
(There is a hollow in the wall where we could put a shelf.)

Summary

'Agujero', 'hoyo' and 'hueco' can all be translated as 'hole', but each word specifies different types of holes. An 'agujero' usually refers to a smaller, round hole while 'hoyo' generally describes a larger hole typically found in the ground. On the other hand, 'hueco' represents an empty space within something that may not have been formed by digging or puncturing.