First, despite the way your question is formulated, there is no end to any studying, especially not in our field, where new things pop up faster than you can read about them. That being said, when you want to improve, there are the following categories that I'd consider. For the most benefit/ROI you should choose something from your weakest area of course.
Despite knowing programming languages and having practical experience, one often has (esp. self-learned) areas where basic foundational issues are left incomplete. Think about things like data structures, algorithms, cache strategies, hash functions, ...
Note that this also includes the foundations of programming languages - everything from compilers, optimization techniques and type systems, up to category theory, monads, and the like.
If you are well taught, as in have persued a university level degree for several years, then you are likely to already be strong in this category (far from finished of course, but a solid basis). Otherwise, do try to read a few books in these areas to find out if there's anything you didn't even know was missing in your repertoire. This category is the easiest to over-estimate yourself in.
I am always astounded when programmers show up who think they are know-it-alls, yet are completely ignorant on other than the mainstream paradigms. If you think object-orientation is the end of it, this is your category for improvement. If you think functional programming exists too and might even have heard of logic programming, then it's still a good choice. There are way more paradigms out there and learning about them has the profound effect of giving you something akin to a new view of the world of programming.
Just don't forget: there are often (rather philosophical in their nature) arguments about what can be considered a paradigm or not. Don't get side-tracked by these. Your goal should be to broaden your horizon and that means learning about these things, whether someone else considers X a paradigm on its own, or not, does not make any difference to that.
The easiest of them all - and the least useful at the same time. Of course, you can commit yourself to a single technology and get to know all its ins and outs, but you should be prepared to pay the price. Technologies age and they do so in an ever-increasing speed, which makes it almost a guarantee that time invested here will be worthless several years down the road.
Also the problem of diminishing return shines here. By the very nature being a specialist on something means you have to spend countless hours on that narrow subject, and hence, by definition it will take you a long time to learn something new and that new thing will be a tiny little puzzle piece that is not going to change anyone's views of anything.
Be it because it's your work's domain, or simply based on your personal interest, but being an expert in computer science and a certain domain is very valuable and rewarding. I am not talking about side-areas of CS here, like computer graphics or AI. Instead notice that computers have taken a hold in everyone's life and that makes every other field subject to computers and an area you can get into.
This one clearly falls into the category of "outside your field", yet it is not a sharp mathematical "outside", but rather a field of application. Consider medicine: I am not advicing you to become a doctor. However, learning the foundations of medicine in order to apply your existing knowledge about computer science to that field's problems is indeed worthwhile. This ranges from visualization techniques, over robotics, to expert systems and mere data management for accounting/administration. While you have done all of that before, doing it in another domain can end up being a whole new experience.
Keep in mind though, that this is a way more radical change in your direction than the other categories. You may not have any contact to that field in your day-to-day work, which makes it extremely hard to pull off. It may even mean switching jobs. Plus, you will need some sort of certification about your new domain - you are a complete newbie to that domain after all, and you have to compete against graduates from interdisciplinary studies, which already began their journey to become experts in that niche.
As Mike Brown added, there is also the area of knowledge which in some way accompanies your current job, but is not strictly necessary. You do not need to be a project manager to learn about project management, but as usual, additional knowledge will give you a larger insight on how the other side ticks. One could even generalize this to the point of focusing on soft skills. I guess everyone who worked on a real project with other people knows the value of these.