I don't know how long I've spent on AoC over the years but all of the time isn't wasted (it's not all 100% productive/useful either though). I'd probably guess it's at least 40h each year.
Like jwo (and Ross and mTrak) I've got all of the stars (so far, for all years) and that represents a significant amount of time that has been put into it, but I'd count this as professional development - plus the fact that I enjoy solving these kinds of puzzles.
I'm using it as a challange but mostly to get more comfortable in a new language (Go). I did all of the previous years in a mixture of shell, C and predominantly perl. Now most of my professional coding is in Go and so that's what I'm doing 2023 in. In my Copious Free Time (TM) I'm also going back and redoing all of the previous years in Go (have about 90 days left to do). This helps me understand how I would implement certain things in this language, notably:
* Numbers > 264
* Number theory (modmul, modexp, lcm, gcd, crt, ...)
* Recursion, tail recursion
* Parsing, regexp, sorting
* Memoization and Dynamic Programming
* Sparse grids using maps, 2D, 3D, 4D+
* BFS/DFS
* Dijkstra/A* and using structures like a heap queue to implement an efficient priority queue
* Trees (binary, n-ary, red/black, etc)
etc