Can you clarify why this involves no locking? There can still be 2 actors fighting for the same row.
Two concurrent deductions of inventory do contend but only during the actual DB update. That is just normal DB locking for SQL isolation levels. The blog refers to explicit locking by the app, which is where skip locked comes in.
Yes, the point is to spread contention across multiple rows. They also mention this in the beginning of the article