They give you different experiences. Small projects allow you to experiment more (try 1 new thing with each one, so as not to get overwhelmed). More importantly, they are easier to finish.
Larger projects will teach you about maintaining a codebase over time, working with others, and managing complexity. You can't keep 10,000 lines of code in your head at once. You'll start one, realize your mistakes about 6 months in, and most likely need to heavily refactor or rewrite it. But that's not wasted time- its a really valuable learning experience.
Do both, but get a few small ones under your belt first and keep doing them along the way (to get a break, or try out that new tech you're thinking of using for your larger project before you commit months to it).