Video Encoding - Wasting Space
To understand this you need to understand how codecs actually work.
A plain uncompressed video frame e.g. a single picture is pretty large. I'm talking about a bitmap, not a lossless encoded video, no encoding at all, just plain pixel information.

Here simple example of a Full HD frame for some perspective:
We have a resolution of 1920x1080 that equals to 2073600 pixels. Now each pixels has three color values. That is usually an 8bit value per color (though it could also be 10/12/16 or 32bit). So we have 2073600*3*8 which equals to 49766400 bits. To get bytes we have to divide by 8 and we get 6220800 Byte or 5.93MB.
So that's nearly 6MB per frame, for a 30FPS video that's 178MB per second!
A 10 minute video would be an insane 104GB.

Now luckily some really smart people developed all kinds of algorithms to define a frame in a smarter/shorter way while still containing the full information of the original bitmap. That's what we would call a lossless codec, just a different way to save the same information.

So when you record your VHS you capture device is getting every frame as a bitmap that it will encode the way you tell it to. So even while VHS uses analog compression and has a overall bad quality you still end up with the same chunk of information as with a Blu-ray encoded to the same resolution and bit-depth that your capture device is recording your VHS. "Good quality" is only determined by your perception of the picture.

Just keep in mind that when you decode a video file or capture something to play it back in your video player or to encode it with another codec (transcode) you always have this huge raw bitmap as the intermediate step, the "raw" information that you can use to describe it in a new way or simply display it on your monitor.

Now there is a limit to how well you can describe an image in a shorter/smaller way without discarding some information.

Those are the so called lossy codecs like h264. These are even smarter and complex algorithm where a frame isn't just a frame anymore, the encoder looks at several frames and trys to estimate how frames in between of so called "keyframes" will look like based of the information in those keyframes.
They also divide the image into several blocks of information and try to "guess" how they should look. Because we know how we guess information we just need a "clue" so when we decode our frame we can guess pretty accurately how this chunk of information would have looked like but its not a 100% accurate representation of the source information.

Thats why it can be so much smaller than our accurate representation with a lossless codec.

It's also the reason why we had this blocking in heavily compressed MPEG2 encoded videos back in the earlier days of the internet, h.264 handles that in a lot smarter way, hence we don't really have this type of artifacts anymore but we get these weird distortion sometimes when the image smears in this "blocky way", that happens when there is a decoding error and we missed a keyframe to decode the frames between the next keyframe.

To answer your last bit. MP4 with h264 encoded video is generally good idea. Use a tool like Handbrake, it makes the task very easy and you still have a lot of control of the outcome. Either choose a preset or set the "RF" setting to 18 to get a visually lossless video. Meaning you wont see a visual quality difference.