A bonus is a free additional share while a stock split is the same share split into two. Some companies accumulate its earnings in reserve funds instead of paying it to shareholders in the form of a dividend. This accumulated reserve fund is then allotted to shareholders as bonus shares in proportion to their existing holding. So, shareholders can get bonus shares in compensation of dividend.
But when a stock is split, for example, 10:1, from Rs 10 FV to Rs 1 FV, there would neither be an increase nor a decrease in the reserves of the company. In a bonus issue, one share of Rs 10 face value would get another share of the Rs.10 face value if the company goes for a 1:1 bonus. And in a stock split of 10:1, one Rs 10 FV share would be converted into ten Rs 1 FV shares. Thus while the company will announce dividend, bonus shareholders receive the double amount (considering 1:1 bonus) but in case of split the dividend amount remains same. (100% dividend means 100% on face value (FV). Thus if a Rs.10 FV share announce dividend of 50%, shareholders will receive Rs.5 dividend against every share)