What is the difference between fine and good? Please suggest the proper usage.
Something that is fine is better than something that is merely good:
As you see, good can simply mean "not bad"; but fine means superior, excellent.
Robusto's answer is correct when they are being used attributively, to describe something in particular.
But in idiomatic usage on their own, there is really nothing to choose between them:
"That's fine" means the same as "That's good" or "That's OK".
"Fine" also has a subsidiary meaning of "healthy, well", so "I feel fine" is appropriate when somebody has expressed a concern about your health. "I feel good" would not be idiomatic there, at least in the UK.