The Lankans have better bowlers, while the Indians have better batsmen. This is where fielding makes a difference. That Sehwag runout won the match for SL, while many throws by Indian fielders missed the stumps. The average Indian attack would be far more effective if the fielders put more pressure on the batsmen by stopping easy runs. You have to take runs between wickets if not over the boundary. Those extra runs run, the great catch, the fabulous run-out, all can win matches. Sometimes, I think Yuvraj Singh would make a better captain because of this.
The Lankan bowlers also bowled intelligently, and the Indians should learn a thing or two from them. Nuwan Zoysa is not far better than his opposition counterpart, so if Balaji bowled straight, he would have been far more effective. You don't win matches by bowling wides.
The 10 lottery overs cost the Indians yet another match. The Indians have to have at least 7 overs of those bowled by a regular. Tendulkar's bowling fails miserably against good batsmen, beause of which he's simply not reliable, and should be called only when the main bowlers are out of form. Sehwag is good enough to bowl 7 overs in every match (his ODI bowling average drops to 33 when he bowls more than 7 overs) and that will give him a lot of practice. The Lankans are a better bowling side in the middle overs, but they have a great off-spinner with them. But they use their main bowler to attack- the Indians used Kumble as a defensive option.