Tips aren't necessary but are greatly appreciated by locals. They don't earn that much and giving them a few spare change would really mean a lot to them. Though you must keep in mind never to splurge on tipping, whether to hotel staff or children-beggars.
Kids on the streets may be given 2-5 rupees, but it'd be better to give them food so you'd be sure they don't spend it on something else or have an older "pimp" extort the money from them. Also, you may want to give them alms on your way out of the restaurant or as you're entering a car/taxi to prevent getting mobbed. Give them more than a few bills and you might find children asking for alms at every turn of the corner.
Hotel staff may be given around 10-20 rupees. Be picky who you tip. Perhaps the maid that cleans up your room or the bell boy that lugs your things around may be good options. Only tip those who have served you well and do so discreetly. 100 rupees is too much, and you might "marked" by the hotel staff, causing them to expect tips from you all the time.