As for examples, Angular makes a grid control that supports grouping rows under an attribute by dragging the attribute's column to a drop zone.
MS Outlook also supports grouping emails with Group By and Arrange By features (I don't know the difference).
As for whether they are worth it or not, I've never seen a user use these features in Outlook. It seems that sorting and filtering features cover whatever purposes a grouping feature may serve. However, a colleague of mine has seen a substantial minority of users rely on this feature in a particular web app.
Grouping might be useful for comparing rows in groups sorted far apart. The user can "close" all groups in between to perhaps put both rows simultaneously in view in a the pane. However, a user can more quickly achieve that capability if the grid includes a horizontal split feature.
If your grid has a lot of columns, grouping can be a way to remove columns so the user can see all remaining columns without horizontal scrolling. However, this can also be achieve by a feature that allows users to re-arrange columns so the ones they need to see are all together.
When grouping is used, it seems to be by users who are handling many rows of data especially where the rows are split across many pages of results (e.g., 100s of rows at 10 rows per page). Given that paging through a list is just a pain (compared to scrolling), grouping might be a way to fit all data of a certain attribute value on the same page that otherwise would be split across pages, making it difficult to find or compare rows of the same category. The utility of this advantage depends on how your grouping works with paging.