When employers post a role they set criteria that the applicant(s) is then ranked against. Not all data that the user inputs is advertised with the role. For example, employers can select lots of "useful" skills or qualifications, a location, required experience within yachts/ shorebased roles, plus much much more. The % match does depend on which qualifications/ skills the employer has selected as essential when they create their job post from within the system. The more they select the harder it is for anyone to match 100%. Essentially it is a point based system where the employer can apply different 'weighting' to attributes it considers important for the role.
As a side note, many recruitment agencies have their roles brought in automatically from their own website via an RSS feed. We are only able to import the job description, title, and reference so any applicant who applies for these type of roles will match the same amount each time e.g.100%. However, once they apply their criteria to these roles you may on occasion then see your percentage match drop. This is because the recruiter will have subsequently applied the qualifications, skills and experience required to the job post.