Unity, can realistically be used for anything - its primarily designed to be a 3D game development engine, but can also create 2D games and can also create applications similar to WinForms or essentially anything Visual Studio or any other IDE/Compiler can, you just need to do a lot of extra work and tweaking to build the components that Visual Studio WinForms offer - and of course everything has its limitations, or efficiency cost.
To your second question, that depends how fast you normally pick up on new things. Unity and C# took me about 2 weeks on and off to learn, but with code and technology im often a fast learner, some people it takes a month or two, others it takes just a few days. The engine itself is not hard to learn, its just buttons and panels thrown across your screen - its the functionality of those buttons and panels and when to use them that takes the time to learn, and then how C# (or JavaScript) affects that, and what your building. If you understand the concept of object oriented programming, you can understand and learn Unity pretty fast.
I would suggest going on YouTube and searching up some Unity tutorials, the official Unity YouTube channel has tons, a lot of developers create series as well, and theres also the Unity Documentation, which covers the programming side nicely.
Start small, learn learn learn. There are tons of tutorials out there.
You can create apps and games, depending of your knowledge.
You should start to learn a proper programming language, i started with C#.
Get some simple things to work first. Maybe create a simple calculator. So will get the feeling of what is going on. If you want more the gameside, create any small game like a pong and improve it.