Man kann darüber streiten, ob so etwas im Markup stehen sollte.
Kommt auf den Kontext drauf an - ich verwende data-Attribute z.B. gerne für Metainformationen, die ich später für diverse Live-Geschichten mit JavaScript benötige.
z.B. eine Auflistung verschiedener Einträge die jeweils einer oder mehrere Kategorien zugeordnet sind. Die Kategorie-IDs kommen dann in ein data-Attribut
<ul>
<li data-cat="foo">1</li>
<li data-cat="foo bar">2</li>
<li data-cat="bar">3</li>
</ul>
Ohne JavaScript ist es einfach nur eine Liste - mit JavaScript wird dann ein Filter eingebaut mit dem man die Listeneinträge nach "alle", "nur foo" und "nur bar" Zusammenfiltern kann.
Die andere Sache sind Lösungen, bei denen ein JavaScript Konfigurationsparameter für irgendwelche Spielereien aus einem data-Attribut liest - Cycle2 macht das z.B. so (http://jquery.malsup.com/cycle2/demo/basic.php) aber davon ist imho nicht viel zu halten, weil das etwas ist was lieber in ein externes JavaScript soll, Cycle2 bietet dafür glücklicherweise auch eine API an.