Question: i am new to asp.net and i was told that i need to know UML thoroughly to build successful software, is this correct? i mean cant i just "code and fix" and "model" in my brain. how important is UML and what is the best way to learn it?

Answer: 
UML is a simple way to graphically document a system and its interactions. Its value to you is not necessarily using UML itself, but the value of documenting a system before coding or modifying it.

I see the advantages as

1. You are forced to think about the whole design before you start building. A drawing is a lot easier to change than a whole lot of code. Mistakes at this stage are easier to rectify.
2. It helps to understand the system and interactions far better than code alone can. With all the self-documenting code that you can write, a good diagram will nearly always be clearer to and fast to pick up.

The disadvantages are

1. Takes time to produce, when you would probably rather be coding and experimenting
2. Can get out of date if effort is not put in to keeping up to date.
[UML](http://en.wikipedia.org/wiki/Unified_Modeling_Language) is a standard used to convey information about the design of an object oriented software system in a (mostly) graphical format.

It is important as it makes communicating about such a system easier.