Differences between "audio component" and "AudioSource.PlayClipAtPoint"?

I’m building a simple 2D game.

When should I created an “Audio Component” for my sounds, and when can I simply use “AudioSource.PlayClipAtPoint”?

Is one better suited for background music or short sounds effects? I have a hard time understanding the differences between the two.

Thanks

The documentation for AudioSource actually specifies the different between these two where it states that:

You can play a single audio clip using
Play, Pause and Stop. You can also
adjust its volume while playing using
the volume property, or seek using
time. Multiple sounds can be played on
one AudioSource using PlayOneShot. You
can play a clip at a static position
in 3D space using PlayClipAtPoint.

An audio component is a component attached to a game object. So when you play an audio clip from an audio component it will be played at the transform position of that game object. You can repeat the audio being played. So this is great for background music.

In AudioSource.PlayClipAtPoint you can play an audio clip at any point in world space which you specify as argument. And it plays an audio just once and then deletes the audiosource for it. It is great for playing audio clip once.

For more reference read these links:

AudioSource.PlayClipAtPoint creates an AudioSource and disposes it once the sound is played. Link to the docs

Knowing this, I put an AudioSource component to my Cameras for background music and use AudioSource.PlayClipAtPoint for short sound effects. If you want an even better performance, you could use an AudioSource component for the most used sound effects, but I don’t think there would be a substantial efficiency difference.