Here's a little textual flowchart to help you out.
Is it free?
├Yes
│ └Is it open-source?
│ ├Yes
│ │ └Is it mature?
│ │ ├Yes
│ │ │ └Is it memory-safe?
│ │ │ ├Yes
│ │ │ │ └Is it sufficiently cross-platform?
│ │ │ │ ├Yes
│ │ │ │ │ └Does its license work for your use case?
│ │ │ │ │ ├Yes
│ │ │ │ │ │ └Consider it.
│ │ │ │ │ └No
│ │ │ │ │ └Don't use it.
│ │ │ │ └No
│ │ │ │ └Don't use it.
│ │ │ └No
│ │ │ └Don't use it.
│ │ └No
│ │ └Don't use it.
│ └No
│ └Don't use it.
└No
└Don't use it.
wondering if you’re expected to have a deep knowledge of most of the tools out there or what
Employers expect you to be able to learn a tool on the job, whether that be an application or a programming language. The specific code or language matters less. As Linux Torvalds once said, "Bad programmers worry about the code. Good programmers worry about data structures and their relationships."
Employers care most that you understand the principles and can adapt well. That said, being familiar or having experience does help in the field, so you should try to have some experience with using the APIs relevant to your use case, and have read their documentation at least briefly. You will accumulate knowledge over time.
But rest assured that technology is not a monolith, and there is not one person alive who has a deep knowledge of the majority of tools.