I have gotten many letters of the "we have no suitable openings now but we will keep your resume on file" sort in my career. I have never, ever heard back from a company that sent me such a letter. I take it as a polite rejection. (a) There's no need for the company to be rude, and (b) On the off chance that their preferred candidate turns the job down, or another job really DOES open up a month later, they haven't burned their bridges.
I suppose there are probably times when a company sends such a letter and then actually does call back. But realistically, just take it as a polite rejection and move on. Do not sit by the phone waiting for them to call back. Spend your time pursuing other opportunities.
Are you wasting your time? Probably. You could have the most amazing resume in the world, but if the company doesn't have an opening at the moment, they're unlikely to create one just because they're so awed by your resume. I had one time that an excellent employee quit, and maybe a year later we got a call from a recruiter asking for a recommendation. I gave her a very good recommendation, apparently so good that the recruiter asked if we wanted to hire her back. And I could only say, "I would love to, but we just don't have an opening right now."
If there's some company that it's just been your lifelong dream to work for, you've wanted to work for Fred's Dairy Stand since you got your first ice cream cone there when you were 10 or whatever, I suppose it doesn't hurt to send them a resume just to see if anything comes of it. But really, it is much more productive to spend your time looking for actual advertised openings. Contacting someone again every 3 months is just doubling down on wasting your time and theirs. I don't want to be cruel here, but if when I was a manager I had gotten a resume every 3 months from the same person when we weren't even advertising an opening, I am sure that this would become a standing joke in the office, "Oh, another resume from your pen pal, should I put it in the stack with the last twenty?"