I recently had to upgrade Jira and Confluence at the workplace. It was clear from their configuration methods and how they respond to errors/failures, they are written by different development teams. One needs to be an admin to experience this, ordinary users will see no difference.
Take for example the admin UI. When adding "Application Links" to link Jira and Confluence with each other, Jira has a nice tabbed interface allowing you to configure it easily, whereas in Confluence, you have to scroll down a long sidebar with dozens of options until you chance upon the required link. Had similar experiences configuring various other options at the filesystem level.
Jira configuration was more coherent, fault tolerant and failed gracefully. Confluence configuration on the other hand was messy in comparison.