With your website development team, there is no need to go over basic assumptions and goals, and most conversations are about the details. With outsiders, it must be different. They may not understand the things you take for granted. Since you take them for granted and don't repeat them, you may have ended a conversation with a third party thinking that you understand each other then there really is a significant misunderstanding. You should assume that you will be communicating poorly and beware of such miscommunication. Try to get them to summarize or paraphrase what you are saying to make sure they understand. If you have the opportunity to meet them often, take some time to consider how well you communicate and how you can do better. If there is a communication problem, try to change your own practices before you get frustrated with theirs.
I love working with non-engineers. It brings great opportunities to learn and teach. You can often lead by example, in terms of clarity of communication. Engineers are trained to tidy up chaos, to clarify things, and non-engineers appreciate that. Because we have technical judgment and can generally understand business problems, we can often find a simple solution to a problem.
Often times, non-engineers come up with solutions that they believe will make it easier for us out of kindness and a desire to do things right, when there is a much better overall solution that can only be found through synergy between the outside perspective and your technical judgment. Personally, I like "Extreme Programming" because it corrects this inefficiency. By quickly associating the estimate with the idea, it is easier to find the idea that is the best combination of costs and benefits.