CUBIC is congestion control algorithm designed keeping in mind the issues with networks having high bandwidth delay product. It is current congestion control algorithm being used in Linux kernels. The algorithm modifies the linear increase function of TCP to a cubic function. It also has a better response time and maintains the fairness against concurrent TCP flows. It exhibits a TCP friendly nature over a much vast range of values for Round Trip Time, Bandwidth and Error Rate. But, it also has a problem of aggressive increase and slow convergence of flows causing prolonged unfairness for short lived flows. We have tried to understand these implications of the CUBIC TCP algorithm and explore reasons and suggest solutions for them. The solutions suggested are not purely mathematical but, they lay a foundation for a full fledged algorithm gives hints towards what improvements should be implemented to better the performance of CUBIC. For studying and analysis we have implemented CUBIC in Linux and simulated it in ns-2.