La réponse du capitaine Nemo est excellente. D'un point de vue plus général, considérez ceci :
Un système d'exploitation, tel qu'Ubuntu, se compose de milliers (voire de millions) de lignes de code, toutes écrites par des êtres humains. Chaque logiciel que vous utilisez au-dessus d'Ubuntu (Firefox, Thunderbird/Evolution, Gnome-Shell, Pidgin, etc.) comprend entre quelques centaines et plusieurs milliers de lignes de code, également écrites par des êtres humains (généralement différents).
Les êtres humains sont des créatures faillibles, et maintenir autant de code devient très vite déroutant, même dans les meilleures circonstances. Il peut être facile d'oublier les effets secondaires de quelque chose, de modifier quelque chose de marginalement lié et d'introduire un bogue, à cause de l'interaction entre les deux choses marginalement liées. Il peut être encore plus facile d'écrire quelque chose que l'on pense être bon (ou, dans certains cas, quelque chose qui fonctionne, mais qui est laid, en raison d'un manque de temps), et de devoir revenir en arrière et le refaire, parce qu'il a introduit un bogue, ou pire, une faille de sécurité.
Pour ajouter à la difficulté, il existe des centaines de configurations informatiques différentes, qui peuvent affecter la fonctionnalité d'un logiciel donné (en particulier au niveau du système d'exploitation et des pilotes de matériel, où les choses ne sont pas aussi abstraites). Parfois, quels que soient les tests effectués par l'équipe, les bogues ne sont même pas détectés. apparaître jusqu'à ce que le logiciel soit diffusé dans la nature.
Par conséquent, les mises à jour que vous recevez chaque jour ou chaque semaine concernent ces petites modifications, les corrections de bogues, les corrections de sécurité et diverses autres petites mises à jour. Si vous utilisez des PPA tiers pour obtenir les dernières versions, il peut même s'agir de mises à jour de versions plus importantes, qui incluent de nouvelles fonctionnalités.
L'erreur logique la plus fréquente en matière de logiciels est de les comparer à des structures physiques, telles que des ponts. Les ponts peuvent être déclarés "terminés" et ne plus être touchés pendant de nombreuses années (à l'exception peut-être de la réparation de la partie chaussée, où les voitures roulent et l'usent). La conception des ponts peut être testée et retestée dans des environnements théoriques (en utilisant les mathématiques pour déterminer les angles optimaux pour la résistance, jusqu'aux modèles réduits) et les exigences pour le pont peuvent être déterminées au tout début du projet. Rien de tout cela ne fonctionne pour le développement de logiciels (comme les échecs répétés des projets Waterfall l'ont prouvé à maintes reprises), où il arrive que les développeurs ne sachent même pas qu'une exigence donnée existe jusqu'au moment de la production, grâce à tous les petits détails qui accompagnent le développement de logiciels. C'est pourquoi un projet de logiciel n'est jamais considéré comme "terminé", et c'est pourquoi il y a des versions et des ajouts de fonctionnalités pour commencer. Ces mises à jour quotidiennes/hebdomadaires/mensuelles sont le produit d'une actualisation, d'une amélioration et d'une mise au point constantes d'un logiciel.
Ou, pour le dire autrement, si tout le monde attendait pour sortir son logiciel qu'il n'y ait plus de bogues, que rien n'ait besoin d'être modifié ou corrigé, et que le logiciel soit absolument parfait, personne ne sortirait de logiciel. (Cela ne veut pas dire que tout le monde sort un logiciel sans le tester, il y a simplement des seuils de ce qui est "acceptable" pour une version donnée, et de ce qui peut être reporté jusqu'aux mises à jour postérieures à la sortie du logiciel).
Cela dit, vous n'avez pas avoir à mettre à jour tous les jours, ou toutes les semaines, ou jamais, en fait. Les développeurs ne peuvent pas imposer les mises à jour à votre ordinateur. Toutefois, il est dans votre intérêt de procéder à des mises à jour périodiques. Permettre aux mises à jour de sécurité de s'installer silencieusement est un bon moyen de s'assurer que vous obtenez les mises à jour les plus importantes, et lancer des mises à jour au moins deux fois par mois vous permet de ne pas lutter contre des bogues qui ont déjà été corrigés.