Lake - oil and petrol from boats can be removed in a number of ways based on the different properties of the compounds.
Distillition will remove them based on their boiling point but it is an energy intensive process so it is expensive.
They can be separated because of their immiscibility within eachother. They will separate into two layers allowing the lower layer to be run off easily.
Boat fuel is less dense than water so it could just be burnt off but that is very polluting.
Vegetable patch - pollutants will be soluble nitrate and phosphate fertilisers so a phase change method is required (distillation). Or ion exchange of the nitrates and phosphates for other ions. Ion exchange would require specialised equipment which could be expensive.
Theres plenty of other ways to clean the water. Filter --> distill --> reverse osmosis or Precipitation --> filter --> solvent separation --> distill.