Hey Artur, sorry for the long delay in this. I hope it's still relevant.
1) Flotr2 doesn't do anything too fancy for optimization. I employ usual js-microoptimiztion techniques and cache the canvas element between redraws. My envisionjs library does subsampling of large data sets when drawing. It takes a minimum and maximum from your dataset for every 2 pixels of screen real-estate and draws that. This comfortably draws millions of points in real time (using Flotr2 as the charts/graphs backend).
2) Flotr2's biggest problem is that it is a legacy code base supporting old browsers. I inherited the project from Flotr and intern jQuery.flot, so there's a ton of cruft and it's difficult and unpleasant to maintain. Honestly, it begs a ground-up rewrite which I'd love to do if I ever get the time :-)
3) There are many similar charts and graphs libraries. Today Flotr2's big advantage is speed (it uses canvas instead of SVG, so it has an advantage particularly on mobile systems) and touch event support. Disadvantages would be flexibility of the API itself. It's pretty home-grown, and isn't a great framework for creating new or abstract data visualizations (something d3 really shines at).
In general, I think a thesis on optimizing drawing techniques for charts in Canvas, SVG or both would be very interesting.
What other libraries are you looking at?
Best,
-Carl