Long time ago video control buttons were being placed just below the display area so nothing was overlaying the image, then some strange fashion was introduced - moving these controls on video image so when you pause video to see image details or subtitles you cannot see them because they are being covered with big triangle in the center or control buttons on the bottom. I think this is very bad from UX point of view and am wondering why this behavior is so popular in players.
It depends on the use case. For some this would be perfect for users to accidentally clicked on the action button between pause and play that would jump to the next suggested video or new content. Would be annoying for some but favorable for marketing.
Another use case is the use of mobile devices/television vs desktops/laptops. Tapping the center is much easier than corners of the screen.
Another use case is branding or watermarking. Would be annoying for some users to capture screenshots of the video but you understand the point when material is given of a high consideration.
The answer could be bad for some yet favorable to what the goal or intent is.
No, it's just lazy programmers.
Controls overlaying the video became commonplace when aspect ratios of screens began to more commonly match the most popular aspect ratios of movies and computing power progressed to being able to easily run multiple windows of video at the same time.
Previously screens had been (more often than not) a multiple of the aspect ration that comes from growing out from a base 640x480 resolution. There's no real reason for this other than the convenience of being able to sell to the main suppliers of video chips/cards and Operating Systems supporting these (pretty much) arbitrary choices of aspect ratios in computing. They could have broken out of this long before 1600x1200 become a standard, but I suspect CRT monitors might also be easier to make in more square shapes... dunno.
Laptop makers were the first to realise they could make their laptops smaller, and users wouldn't mind, if they widened the screen, or shrunk the height. Users didn't mind because this fit with most widescreen movie videos, which are most commonly thought of as 16:9 (or thereabouts), which is basically from television and the move to the two HD sizes (1280x720 and 1920x1080).
Once screen sizes were more commonly the same shape as the video, it was going to be a requirement to have floating controls because fullscreen viewing would otherwise push the controls off the screen. So software developers being infernally lazy just made the controls always float over the video.
Concurrent to this push/need, was the increases in computing power, such that multiple video player windows could be on the same screen at the same time. Having multiple windows of video open at once also greatly benefits from controls being overplayed, especially if they're only shown on the top positioned video player window when the mouse rolls over it. Quicktime basically does this, sort of.
There are some great losses from this. It is no longer possible to tell where all the videos are in their respective timelines, the timelines are not full length, the buttons obscure subtitles (as your rightly point out), the buttons popup annoyingly if someone jars the mouse, etc etc.
It is not a great UI/UX solution. It's just the easiest and fastest (and laziest) way to have controls made.
I think Windows Media Player 6.4 was as good as things ever got in terms of Windows video players.
Fortunately VLC still exists in a pretty rudimentary (non-hipster-fied) state.
If you're going to make a video player, I'd suggest giving users an option to have controls always on, just below the video, that automatically become overlays when in fullscreen, or they could switch to having Quicktime style floating controls - but let users drag them outside the video window. Unlike Quicktime. Please!
Better yet, a right click on the video brings up a floating display of the buttons, right near the click, and left click is only play/pause, regardless of where within the video.