While there's a lot more you can extend in concrete5 by using a package, blocks and themes are the ones you'll most likely need on a daily basis when you work with concrete5. A package could contain controllers, single pages, events, and a lot more to extend almost anything you want without touching the core. You haven't reached the end after you've gone through themes and blocks!
We've had a quick look at the marketplace; you should know how to install add-ons automatically and also manually if necessary.
You should have a basic understanding about the structure of themes, blocks, and packages. We're going to cover all of them in the next few chapters, but make sure you know what an add-on directory looks like. Following the same pattern as every concrete5 developer keeps the process simple and clean for everybody.