I recently evaluated lots of them for a dashboard project, and settled on flot. I built alternate working implementations in Flotr2 and Rickshaw, and less thoroughly evaluated Dygraphs, Envision, RGraph, elycharts, grafico, AwesomeChartJS, Morris.js, and Highcharts.
Highcharts is very nice, but commercial (although there's a free license for non-commerical work available). I settled on flot eventually because it has a reasonably complete set of features, easy API, and there are lots of plugins available to complete all the features I wanted to have. A lot of the newer frameworks are less complete (for now, anway).
That said, I've admired D3 for a long time, it just didn't have a good basic time-series chart wrapper to help a JS newbie like me jump in. Rickshaw's a good start at that, but missing some features I need, like multiple Y-axes. A D3-based library is attractive, because I also want to integrate Cubism.js's horizon charts, and keeping them on the same rendering engine will cut down code size and be nicely consistent.
I did notice that browser performance at rendering SVG is still noticeably behind Canvas when you have lots of complex graphs on screen at once. The Rickshaw implementation of my dashboard (Rickshaw uses D3) slowed down considerably on my MacBook Air compaired to the flot version.
Cubism, D3, and now NVD3 are still very much in the running for v2 of my dashboard project.