Building on akton's post:
I disagree a bit with his point of
...the cover letter is something everyone emphasizes but no one reads.
Specifically, in my experience, I have read cover letters but I use them entirely differently. When dealing with anyone in a computer field I always find their writing skills to be poor at best. So when I look at a cover letter the main thing I am looking for is if you can clearly articulate an idea. I want to know that you not only have the skills to do the job but that you can also explain what you did clearly and in writing.
As far as making the cover letter company specific I feel that you are misinterpreting the quote you mentioned a bit. Remember your cover letter and resume should be company specific. akton mentions in his first point to mention things relevant to the job description like how you know Spanish or your related degrees. I am sure you notice though that those are likely things that should also be in your resume.
akton's second and third point are really important for your cover letter. You should be using this time to elaborate on things that people don't see in the 5 words you devoted to something on a resume. For that HR position for the wedding organizer your resume will likely mention that you have a wedding blog but here is where you can expand. Tell them about the community surrounding your blog. Explain what methods for engaging the community and explain it in a way that highlights your interactions with people so you can show why that item has helped you to gain skills you feel you can apply to HR.
On your point about applying to positions without descriptions, this is where hitting the proverbial pavement kicks in. I am going to go based on two scenarios.
Job came from an internal business board
So you have a friend who works at a company and on their internal boards they posted a position for Systems Administrator. That is all they said, after all everyone knows that they operate on a Linux environment. Everyone except your flaky friend. In this situation you will want to get the number for the company's HR department and give them a call. at some point you are going to hopefully be talking to them, don't be afraid to make that now.
Job was listed by a recruitment agency
So you found this job to be a web developer and when you looked at the pay you felt that you should look deeper reading the description you see it is for PHP (you know that) and that you also need some experience with a database. Which database... well it looks like this recruiter does not deal with positions like this too often and the company they are working with neglected to mention that they use mySQL. Every php developer uses mySQL after all right?
In this case you should contact the recruiter. Do not contact the actual company. They are likely using a recruiter for a reason and you should make that person your point of contact.
Overall if you ever have questions about a position just contact someone regarding it. if you cannot reach them then you may want to reconsider the position in the first place. After all, as most people will tell you, you should learn about the company you are applying to. If for some reason you cannot contact them then think about what that means. You know nothing about them. Are they honest? Are you going to be doing work that is objectionable to you?
There are other reasons that it could be hard to know what a company even does. If the company only does government work they may just not feel the need to host a website because they feel it is a waste of resources to keep one up to date. You should still learn about them though. Do they work with Planned Parenthood, which you may object to? Are they actually a Private Military Corporation? Never be afraid to try and find out more about a company or position by contacting them. The job should be a good fit for you and knowing what it entails is an important part of that.