Разница между словами «висеть» и «весить» заключается в их значении.
Висеть означает «держаться на чём-либо без опоры снизу, быть подвешенным к чему-либо». sanstv.ru Также может означать «располагаться на какой-либо вертикальной поверхности» или «держаться на весу, уцепившись руками за что-либо». sanstv.ru Примеры: «Лампа, люстра, штора висит», «На двери висит замок», «На верёвке висело бельё». sanstv.ru
Весить в прямом значении означает «иметь какую-либо тяжесть, определяемую мерами массы (граммами, килограммами, тоннами и т. п.)». mail.russkiymir.ru Также может иметь переносное значение — «обладать возможностью влиять на что-либо, быть таким, с которым считаются». mail.russkiymir.ru Примеры: «Груз весит сто тонн», «Новорождённый весил три килограмма». mail.russkiymir.ru