1. Cost. When you deal with school districts, you usually sell for X number of devices. So for example, all devices for 5th-7th grade, something like that. When you sell alot, schools will usually ask for volume licensing. Schools don't want to see prices above $5. This goes for devices for the quality of the devices they purchase. Often, the student device is cheap, low-powered, and in the case of Windows devices, packed to the brim with all sorts of software running in the background: web filters, virus-scanners, and some educational apps. Top that off with apps that students install like Spotify and games, it slows the machine down to a crawl or causes problems that might interfere with your software solution.
2. Different school districts have different needs. Although our software solution was initially meant to be for general use by all schools, we kept running into school district that needed very specific needs to that school or district. That lead to developing new features that only a small handful of school district would use, sometimes confusing users who did not need such features, or didn't even know we had the feature.
3. If your software solution works with student information systems data, it can often be a nightmare getting school districts to create that data.
4. School IT teams are...pretty terrible. Or rather, they're swamped with so many issues from so many products and devices, that they care very little as to learn how to deploy your product properly. Have documentation? Trust me, they probably won't read it. You will most likely get an e-mail asking how to deploy.
5. Trials, trials, trials. Schools aren't going to pay up just because they see a video demo of your product. They're going to want a trial at minimum for half the school year, maybe more. Then...
6. ...Politics. Decision to purchase needs to be approved by some board.