Think of lookups today as primarily (not exclusively; every tool can be repurposed) a one-time relationship that you never, ever want to work again.
For example; you are building an invoicing system and you want to add line items to the invoice. You have an invoice table and a line items table (both contain permanent records you never, ever want changed once they have been created and used). Those line items have to drawn from somewhere if your company has inventory that it sells with these invoices and that would be a third table, the products table. This changes all the time. Prices go up every day.
When you are creating an invoice you want the price for any product you add to that invoice to be pulled from the products table and inserted as a record in the line items table. No matter if the price on one of those items triples one minute later, you don't want it to change on the invoice line item you already executed. Neither do you want the buyer's address attached to that invoice to change over time, (or the company name for that matter which is why you do relationships with numbers and not text).
The customer may move ten times over ten years and the price of the item he bought on that invoice may have gone up tenfold, but the invoice is a "historical" document so his address and the price he paid (and the name of his company) at that moment should remain forever the same.
That's the kind of data for which you want to use a lookup. Related one time and then never more, unless you specifically script a re-lookup; which of course you would not want to do under most circumstances.
Lookups and Repeaters
Try using an auto-enter calculation instead of a field of type calculation. You may find that keeping the "do not replace existing value" check box is the setting that you need here.