Apple - What is "routined" and why is it eating my CPU?

I wondered the same thing! It does have a small but somewhat helpful man page, which you can get via man routined in Terminal.

     routined -- A daemon that learns the historical location patterns of a user.

     routined is a per-user daemon that learns historical location patterns of a user and predicts
     future visits to locations.

     There are no configurations to routined, and users should not run routined manually.

As to what it's doing? One way to find this out for (nearly) any process is to take a sample using Activity Monitor:

Activity Monitor Sample

That will then produce a fairly verbose report that you can send to Apple using Feedback Assistant:

In my sample, it appears to be training a machine learning model:

 +               1440 __44-[RTLearnedLocationEngine trainWithHandler:]_block_invoke  (in libcoreroutine.dylib) + 475  [0x7fff6ff29e85]
    +                 1440 -[RTLearnedLocationEngine _trainWithHandler:]  (in libcoreroutine.dylib) + 1041  [0x7fff6ff29612]
    +                   1440 -[RTLearnedLocationEngine _trainWithFromDate:ToDate:forLastLearnedVisit:handler:]  (in libcoreroutine.dylib) + 765  [0x7fff6ff2996a]
    +                     1440 -[RTLearnedLocationEngine _trainLocationsOfInterestModelWithError:]  (in libcoreroutine.dylib) + 121  [0x7fff6ff2a1f7]
    +                       1440 -[RTLearnedLocationEngine _relabelWithError:]  (in libcoreroutine.dylib) + 303  [0x7fff6ff2e58e]
    +                         1440 -[RTLearnedLocationEngine _relabelWithRelabeler:relabelerPersister:error:]  (in libcoreroutine.dylib) + 1619  [0x7fff6ff2ec22]
    +                           1440 -[RTLearnedLocationStore enumerateStoredLocationsOfInterestWithOptions:enumerationBlock:]  (in libcoreroutine.dylib) 

I would expect such activity to eventually complete and stop chewing CPU, but you never know!