Vásárolni megyek. I go shopping.
Vásárolok egy ruhát. I buy a dress.
Venni always needs an indefinite object thus it means to buy.
Veszek egy ruhát. I buy a dress. (if you want to use a definite object you should use megvenni eg. Megveszem a ruhát. I buy that/the dress.)
It can also mean to take or pick.
Veszek egy szelet tortát. I take a piece of cake. The exact meaning depends on the context. If you are in a party you will take some cake. However is the supermarket or café it is obvious that you buy it.
The verb venni basically can be described as you take something towards yourself and that will be yours.
Hope this helps.