In the software world(and probably in other industries) there are different methods and tools to achieve the same goal. , it is very important for a software developer to be familiar with these various approaches.
The image above is a concise list of methods/tools for achieving goals.