Yes, Rmarkdown is a way to generate a document. Once the document is generated, it is static. This is useful to make reports that are nice-looking and easy to read (also these reports are reproducible and can be easily re-generated with new data, among other advantages).
On the other hand, Shiny is a way to generate interactive (dynamic) websites. Such a website is an interface that can call R functions on datasets, it's a way to enable the user to manipulate the data.
One important difference is that you knit your Rmarkdown once, on your computer, typically with Rstudio. Then any web browser can display it, and any webserver can make it available. On the other hand, Shiny is R code, so you need a webserver running an R interpreter.
However, if you have a need for it, note that:
- it is possible to include Shiny code in an Rmarkdown document, the result is a Shiny app (so you need R to run it)
- for some cases you can create interactive widgets in an Rmarkdown document without using Shiny, the result is purely html and javascript and can be run in a browser. Details here.