Some compound word's extended meaning is more prominent than the literal one.
Take 不错 for example, '不'= not; '错' = wrong; therefore '不错' literally means 'not wrong' in other word: 'right'.
By extension, if something is not done wrongly, it is 'not done badly'. That's how the meaning of 'not bad' is carried by '不错' (and 'not bad' implies it is 'decent' or 'good')
Depend on context, people do use the phrase '不错' for 'not wrong/correct'.
For example: Q: "你十八岁?" (you eighteen years old?) A: "不错!" (correct!)
But we mainly use '不错' as an adjective for 'not bad' in day-to-day conversation. For example: "这辆车不错" (this car is not bad)
(大= big); (力= force) '大力' literally means 'big force'. In other words 'strong force'.
By extension, '大力' is used as (1.) an adjective for 'strong' or (2.) an adverb for 'strongly'
Is 不错 never used to express "not bad"? And do you have nothing to do but just look up in the dictionary and memorize them one by one in case of these composite words?
Most of the time 不错 means 'not bad'.
You do have to memorize the meanings of each compound word, but those meanings are all extensions from the literal meaning (they are logically connected). Therefore, it wouldn't be too hard to remember.