I prefer practical, project-driven learning. Instead of keeping a skill completely separate from real work, I try to use it to build something, solve a problem, or understand how a system works.
This website is one example of that approach: I'm using it to practice web development, Git, GitHub, responsive design, content structure, and maintaining a real project over time.