There are many ways to learn a software .But, what are the best ways to learn a software completely?.And how can i knew that i learnt the software up to some higher/pro level ? How not to waste time by learning them in a cost efficient way?
There is really not answer to that question, as everyone has a different learning style. You really have to try different things, until you find what works for you. You may be a book reader, or online printed tutorial or video tutorials. You may be someone that needs a classroom instructor.
Regardless of your style, here is the one thing that I want you to grasp from my answer. There is no such thing as COMPLETELY learning a software. I learn new things and innovative design approaches everyday about software that I've been using for almost 15 years! NEVER STOP LEARNING. Don't look at a software package so much as something to master. MASTER YOUR CREATIVITY, and look at the software as a tool, because that is all that it really is. Just like a wrench or hammer may be used for many things, so is the software. You may think you've maximized your use of one of those primitive tools, until you are faced with a new problem and have to use them in a way that you have never used them before. Start with your creative process and what you are trying to specifically accomplish, then learn how to execute that with your tool. Of course every software has a basic foundation of things that you need to learn, but after that, your success will only go as far as your creative ideas and then you resolve to execute them.
One way to know where you are skill-level wise is to compare your work with things you see in the movies and on tv. Really study them, and ask yourself what things make them different from your work, and then study to execute those things better. You'll know that you have reached a higher level when people want to pay you to do what you do...it's that simple. The better you get, the more money people will invest in getting what you have to offer.
As far as time is concerned...there is no waste of time if you are learning. Cost efficiency would be in finding free resources and tutorials online. When you search and see something that you like or want to accomplish, then invest the time to slow down and learn it...there are tons of tutorials free, and buying good books doesn't hurt either.