SNOMED CT can help to build a domain knowledge, also it helps the experts in understanding the medical concepts and their relationships. However, by itself, SNOMED CT is not a knowledge base rather it is the world most comprehensive clinical health terminology product.
ICD-10 is also a terminology, but it only contains codes for disease, symptoms, findings, complaints etc. It does not cover the whole arena of health like SNOMED CT.
UMLS is the integration of key terminologies like SNOMED, LOINC, ICD etc. We can say, UMLS is a kind of service that facilitate users to get interoperability among different terminologies in clinical health domain.
We must differentiate between a knowledge source and knowledge base. SNOMED CT is a knowledge source rather than a knowledge base. Knowledge Base is a technical term used usually with decision support systems [https://confluence.ihtsdotools.org/display/DOCCDS/3.+Knowledge+Base]. On the other hand, SNOMED CT a knowledge source which is leading to an increase in the number of software tools and development of materials that contribute to knowledge base to support implementation [https://en.wikipedia.org/wiki/SNOMED_CT].
SNOMED CT (Systematized Nomenclature of Medicine -- Clinical Terms) is a standardized, multilingual vocabulary of clinical terminology that is used by physicians and other health care providers for the electronic exchange of clinical health information.
https://www.snochillies.com/
ICD-10 is the 10th revision of the International Statistical Classification of Diseases and Related Health Problems (ICD), a medical classification list by the World Health Organization (WHO). It contains codes for diseases, signs and symptoms, abnormal findings
http://icd10.itsmyhealth.nz/
The Unified Medical Language System (UMLS) is a compendium of many controlled vocabularies in the biomedical sciences (created 1986).