Another variety in the same line as the other answers ("fun is important") is reading novels or novellas, or short stories in the target language. Clearly this presupposes a somewhat advanced level of knowledge. I did and do the following when learning: get a novel, maybe one that is popular in the country where the target language is spoken, and first read it in your native language, then read the original.
Short stories are a good start, also possibly news articles in the two languages in question. Pick genres or topics that you are interested in anyway to keep the motivation up. (With some proficiency I find texts meant for language learning dull, artificial and inadequate. If so, aim at a next level of literacy.)
Obviously that may even complicate things e.g. if plot or the writing style itself proves difficult. However the effort may still pay off, especially if the novel itself is perceived as subjectively good, or even life-changing. I had highly motivating experiences reading Javier Marías' novels named after Shakespearean quotations (Corazón tan blanco, Negra espalda del tiempo, etc). Because I knew the plot, and had already sort of fallen in love with the introspective and thoughtful inner dialogues the Spanish original was so much more rewarding personally, as in "another first time". Find something that suits your taste. Re-read a chapter. Take your time.
Today I still make progress this way, and while for Spanish (and some mediocre level of Italian) it did work well, transferring this method to improving my Chinese takes more effort. Here, activities on the side like entering new words into AnkiDroid on the fly take their time, but I consistently retain new vocabulary and do spaced repetition for these. Given the ginormous amounts of flashcard stacks at AnkiWeb I also find that my self-generated sets of flashcards mean more to me, as opposed to sometimes rather "empty" predefined sets containing words you don't want to repeat, or which simply appear less meaningful. For me this reinforces motivation by avoiding to repetition of totally uninteresting vocabulary.
The above is talking texts and literature, which allow an exposure without real-time constraints. Next level is rather interactive, so to speak. In conversation with native speakers I often passively engage in talk and discussion, and from time to time notice words I haven't learned yet, and sometimes even remember to write words into AnkiDroid after the conversation ended. Immersion surely helps with becoming sensitive to topic areas you'd like to in your target language engage in discussion about on the same level as you would in your native language. Practice helps fill in those gaps.