All of the above.
I think they're fun if you play the game. That is, if you get the Past Performances (histories and information for each horse in each race) and try to figure out who is going to win. For me, betting is just a way to keep score. My total bets on any given day are less than 10% of what I make in an hour. The people who make the winning bets divide the money bet by the losers minus 15 to 20% that the track takes for purses and other expenses. So you're really playing against the other people who bet, not the track. You can bet as little as a dollar (or even less on some "exotic" bets) or nothing at all. Once you get into it, there are almost infinite things to discuss with friends and even strangers.
You should be aware that the racing folks try to promote "important" races and race days, but every race is a puzzle to me so I enjoy the "unimportant" races just as much as the "important" ones. Usually admission, a seat, and parking will cost $10 or less. At Belmont on Saturday these cost me $120. Food can be a ripoff too on big days. A Coors Lite can was $11 at Belmont on Saturday.
You can also play at home for free. The past performances are available on line for a nominal fee. (The one I use cost a dollar a day per track.) You have to deposit money in an account. Then you can bet and watch on your computer just as if you were at the track. Some racetracks are beautiful and I like the whole racetrack atmosphere which is why I don't just play the game at my kitchen table.
ML/NJ
I’ve been to Belmont (including the day Secretariat won the Triple Crown), Santa Anita, Keeneland, Laurel (several times; near me), and a couple of others. I like them all.