Версии эти популярны, потому что убедительны. Оба слова имеют праславянские корни, следовательно там и следует искать разгадку, к которой мы вернёмся чуть позже.
А пока посмотрим на исконный смысл этих слов глазами жениха и его семьи:
невеста и невестка — которая вот-вот станет частью семьи будущего мужа, матерью его детей, продолжательница рода не только своего, но и рода будущего мужа — почему-то «неизвестная»;
свояченица — сестра будущей жены, имеющая к её будущему мужу, его семье и роду куда меньшее отношение, чем невеста, — почему-то «своя».
Чтобы разобраться в несправедливом на первый взгляд положении вещей, нужно обратиться к этимологии обоих слов, вспомнив об их праславянских корнях.
«Невеста» и «невестка», как вы понимаете, образованы от одной древней формы невѣста, которая, в свою очередь, родственна глаголу *vědati (vědati → вѣдати → ведать). Таким образом, праславянское *nevědta (невеста) у славян значило «неизвестная».
Сегодня этому есть несколько объяснений. Во-первых, девушка, вступающая в брак, была чужой для семьи жениха. Если внутри семьи все были друг другу родными и «известными» до мелочей, то невестка была совершенно новым человеком, неизвестным для этой семьи. И хотя после свадьбы невеста становилась женой для мужа, для его родни она навсегда оставалась невесткой.
Во-вторых, значение «неизвестная» могло быть связано с суевериями. Славяне считали, что нечистая сила питает особый интерес к молодожёнам, и, чтобы уберечь молодую семью от несчастий, до самой свадьбы, а иногда и в первые дни после, невесту «прятали». Родственники мужа мало общались с ней, часто не называли по имени, словно она была совершенно посторонним для них человеком. С этим же связана традиция в день свадьбы скрывать лицо невесты под платком, затем фатой. Люди верили, что злые духи не смогут навредить, если им неизвестно — кому.
«Свояченица», а также «свояк» образованы от общеславянского svojь, восходящего к индоевропейскому корню sue, имеющими одно значение — свой.
Для жениха (затем мужа) и всей его родни сестра невесты (затем жены) являлась «своей» — так было у славян. В это значение вкладывался довольно простой смысл: сестра жены не становилась кровной роднёй по отношению к семье мужа, но и чужой им она не была. Такое положение, «где-то между» родственником и посторонним человеком, было охарактеризовано словом «своя». Что касается «свояка», то ситуация абсолютно аналогична.
Таким образом, общеславянские значения слов «невеста» и «свояченица» не следует рассматривать вместе, относительно друг друга. Между ними нет сравнения, в каждое вложен свой смысл, касающийся лишь их положения по отношению к семье жениха.