Which version of Crystal are you using?
What is the data you are reporting on stored in? Is it a SQL database? Or an Excel spreadsheet? Or what?
With regard to joins, an equal join means the data must be in both tables, whereas an outer join means the data is in one table, but does not need to be in the other.
So if I have Table 1 containing "A", "AA", "AB", "BB" and I link that field to Table 2 which contains values "A", "AB", "D", "E" in the corresponding field. With an equal join, only the entries showing "A" and "AB" will appear in the report. If I use a left-outer join from Table 1 and then report on the entries I will get "A", "AA", "AB", "BB" from Table 1 and I will get "A", <NULL>, "AB", <NULL> from Table 2. On a report the <NULL> will just appear as a blank or empty space. If you start using these fields in formulae then yiou have to think carefully about what you are doing and what you want.
Coming back to your duplicate records, there must be a reason for it and knowing the underlying data structure will help. If I get anything like this then I write the simplest possible reports with just the 2 tables at question and try and zero in on one set of results that exhibit the problem and then start hunting through ALL of the fields to try and spot what is duplicating and how I can find a better unique join. Is it still the Orders and Vendors tables that you are wrestling with?
Hope the above helps some.