Самый достоверный вариант происхождения русского жаргонного слова "шняга" предполагается от "шняка".
Шняка - это было рыболовецкое небольшое судёнышко, используемое поморами с 11 по 19 века. Само слово идёт от искаженного "снека", "шнека", от древнескандинавского snekkja (длинное судно).
Кстати, при Петре Первом в российском флоте появились небольшие двухмачтовые шхуны, название которых на немецком языке звучало как Schnau (происхождение слова опять от др.-сканд. - snekkja), а в русском - "шнява". Эти суда использовались и в торговом и военном деле.
Со временем и развитием флота шнякой (шнягой) стали оскорбительно называть любое мелкое, неказистое суденышко, не заслуживающее доверия. Причиной такого пренебрежения послужило то, что поморские шняки отличались плохими мореходными качествами. Да и сам "первобытный" вид судна подчёркивал нищету рыбаков.
С годами в Сибири скопилось огромное количество каторжников, которые были далеки от морского дела. Но звучное словечко "шняка-шняга" так и просилось на язык. Сухопутные каторжане откинули морское значение и стали применять словцо для обозначения негодных вещиц. В двадцатом веке презрительный оттенок остался, но значение слова снова исказилось, обозначая ныне "мелкую вещицу, не заслуживающую внимания", "ерунду".
Есть также версии об ином иностранном происхождении слова:
- От слова на иврите "шене ях" — мелочь. Правда, в современных словарях это слово отсутствует, а нынешний вариант "мелочи" имеет совершенно другое происхождение. Отчего появляется сомнения в этой этимологической версии.
- Второе предположение высказывают те, кто считает, что слово "шняга" происходит от немецкого schnickschnack - безделушка, пустая болтовня.