Hola
robertgustavo
Este tema debería ir en otro foro hehe
Volviendo al tema, la principales ventajas son la eliminación de información redundante en otras palabras repetida y la integridad de tus datos.
Con el ejemplo que mencionas supongamos que varios clientes hicieron una compra del producto con el código PRO001, si en un futuro el código del producto cambia en tu tabla productos tendrías que cambiar no se cuantos registros en tu tabla ventas, en cambio si las tienes relacionadas el cambio realizado en tu tabla productos se vería reflejado en tu tabla ventas y de esa manera no te verías forzado a hacer otra consulta para actualizar la tabla ventas.
Te recomiento que te leas un libro muy bueno que se llama 'Springer Inside Relational Databases with Examples in Access'.
Un saludote !