只要 indicates a sufficient condition, i.e. "只要A就B" means "A => B", "The fact A guarantees the fact B". 就 or 便 usually gives a sense that something is simpler than one expects, so such adverbs match with 只要.
只要你努力,你就会成功。
You will (simply) succeed as long as you work hard.
只有 indicates a necessary condition, i.e. "只有A才B" means "A <= B",
"Condition A is mandatory for B to be present". 方 or 才 usually gives a sense that something is more difficult than expected, or some scenario requires more conditions than expected to achieve, so these adverbs match with 只有.
你只有努力,才会成功。
You can only succeed if you work hard.
In other usages of 就 and 才, they play similar roles, i.e. giving optimistic/pessimistic senses.
我老公昨天三点就回来了。
It was only 3 p.m. that my husband came home yesterday. (I didn't expect him to come home so early, but he did).
我老公昨天九点才回来。
It was not until 9 p.m. that my husband came home yesterday. (I expected him to come home earlier, but he just kept me waiting).
In English it doesn't require an adverb to complete a sentence with a conditional clause; but in Chinese, without an appropriate adverb like 才 or 就, the sentence will sound incomplete. Since these words are required to form a sentense, your grammar book may suggest they are conjunctions/连词, but I think in fact they are adverbs/副词.
Among them, 才 and 就 are more common in everyday use, while 便 and 方 may sound too formal. Other possibilities are rare as far as I can think of. I would suggest that you only memorize these two patterns: "只要……就……" and "只有……才……", for these two appear in our primary school textbooks as well.