Difference is mainly in style.
Ведать - old fashioned poetic style. Now used mainly in set phrases.
Знать - common.