This question has been asked and the top answer https://stackoverflow.com/a/38173155/12862537 is not satisfactory.
So, it would be nice if someone could specifically point out the similarities and differences between the two.
About the answer at the mentioned link:
The term busy-waiting tends to mean that you are willing to spin and wait for a change in a hardware register or a memory location. The term does not necessarily mean locking, but it does imply waiting in a tight loop, repeatedly probing for a change.
Some unanswered queries:
Does this mean that spinlock waits without probing for change ?
If so, how does spinlock wait ?
The answer specially mentions that
busy-wait waits for a change in hardware register or memory location
What is the reason to explicitly mention this ? Does spin-lock wait for something else ?