Adobe documentation captures all the scenarios for AEM upgrade. Please refer to it at . On a high level, the changes are
1. Upgrading the AEM instance - you can do either in-place upgrade or fresh install approach based on your content size and 2. Upgrade your artefacts by compiling against 6.5 uber jar. 3. Test and fix any issues due to deprecated features/overlaid capabilities change. 4. From 6.4, as part of sustainable upgrades process, there is a repository restructuring that can be done (not mandatory). Refer to it at  5. Process on how to rollout the changes to production.
If this is hard, adobe offers a backward compatibility mode from 6.3 with which you can run a 6.3 aem artefact on a 6.5 instance. Read more at 
Pattern detector is a mechanism provided by Adobe to easy identify of possible problems that will come up during upgrade by validating against deprecated features and overlays. Refer more at