If you keep everything standard, it's all fairly simple. If you customize anything, though, there are a lot of weeds, into which you can wade as far as you like (or reverse course).
Some difficulties for me seem to be idiosyncrasies of my theme (Future Imperfect), e.g. they type
in the YAML has to be set to post
to show up. Without that, Hugo doesn't complain, but the post doesn't show up.
More of my difficulties were products of not knowing where to stick things in the file structure, e.g. a favicon (getting mine to show up took hours), static (not generated by R code) images for posts, markdown docs for permanent pages in the site, etc. Compounding the issue is figuring out both where files will end up after Hugo runs and what path to put when referencing them, as there is some undocumented magic in places, e.g. featuredpath: "date"
for featured images for posts.
In all cases the way I figured out most of the solutions was emulating the theme examples. When that didn't work, I went more for the shotgun "try everything and see what happens" approach, which usually gets me there, if not very efficiently.
Lastly, I've occasionally had issues with the "Serve site" add-in. Mostly, it's just hard to see if it's still running or active, as it usually doesn't print anything when it's working. A couple of my posts (e.g. one on Bayesian regression) took a while to compile, so occasionally my session would just lock up for a few minutes while it ran. I tried to ease the situation with caching, but that was mostly counterproductive. I suspect most people won't do such silly things in blog posts, though, so this may be a fairly unique difficulty.
Elsewhere in the "tada!-verse" (I love it), I'd recommend the under-loved flexdashboard to people getting started in RMarkdown. It certainly can't do as much as blogdown, but it can make a variety of static sites beyond the basic HTML report format. In my experience, its simplicity makes it much harder to screw up. It's a nice segue to Shiny, too, if people are so inclined.