Yanked text with y, then v select some text, paste with p, but nothing happens.
Pasting over a visual selection should work exactly once. When pasting a second time the visual selection from the first time will be pasted instead of the yanked text. (At least that's what happens in version 8.1.1779, but ISTR that in earlier versions pasting did not work; just like you describe. This might have been changed with 8.0.140, but I can't check this right now.)
When you yank a text without giving a target register the text will be stored in register
"0. The default register
"" then points to register
"0. Now you select some text. When you paste over the selection it is first deleted and stored in register
"- for small deletions). Then the contents of the default register is inserted. At some time during the paste action the default register will be updated to point to register
"-) because of the deletion.
Depending on when the update of register
"" happens you will either put the contents of register
"0 (the yank register) or
"- (the (small) delete register). You can state explicitly which register to paste by using