1. What is the Difference Between Range and Co domain of Function ?
Range is the actual values that are images of Domain. Whereas Co-Domain is everything that you have on right side of any function.
For example, when we write $f : A \rightarrow B$ then A is Domain, B is Co-domain and the Set $R = \left \{ f(x) \,|\,x \in A \right \}$ is Range.
Say, $f : \mathbb{R} \rightarrow \mathbb{R}$ and $f(x) = e^x$ then here $\mathbb{R}$ is Co-domain and $(0, ∞ )$ is Range of $f$.
2.If i say a function is one to one , onto , bijection what does it actually tell about the function is there any significance or they are just types of function ?
Of course there is significance. In Mathematics, Functions are one the Most important concepts. To see just a glimpse of their (injection, bijection, surjection etc) significance.. refer here : https://gateoverflow.in/216802/set-theory
when i say fog(x) then fog(x) = f(g(x)) we know that g(x) need not be onto i understand why but why its must that f should be onto.
Who said that for $fog$ to be defined, $f$ must be Onto function?? It's not necessary. Neither $f$ nor $g$ have to be onto for $fog$ or $gof$ to be defined.