As a programmer, sometimes you may be required to also learn and familiarize a library that can be more complicated than the language itself.
Before we proceed, let’s ask ourselves this: Do I want to code a data structure (like a red-black tree) from the ground up? If yes, then we only need to remember how to use the one we are going to make. If not, then we will need to get ourselves familiarize with the library we are going to use.
Libraries, in short, provides us with tools that our native libraries don’t have. For example, in Python, you may want to have a pytz library to help convert time for your application. Maybe you want to incorporate a database like MongoDB. You would need to use its provided library (For Python, PyMongo) in order to allow your application to communicate with the database. The list goes on.
UI frameworks are like a library for web design. As previously mentioned, unless you are planning to design everything from the ground up, it’s better to find an existing UI framework that can fit your needs. This can minimize the amount of code you have to write in CSS, and help you focus more on the site layout instead of most CSS technical details. After re-making a couple of sites in Semantic UI, I would wager that it shrink by code by a lot compare to coding everything in pure HTML/CSS.