Some aspects of discrete branching processes