Networks, ie. Bittrex charge a fee on each trade. They also charge a withdrawal fee (and maybe a deposit fee?).
Are network fees also charged on a trade? For example, I trade Ether for XRP and on Bittrex I pay their fee of 0.25%. Does the trade also subtract a network/blockchain fee the same as what you would pay sending bitcoin from one address to another?
Every time I search 'exchange' and 'network fee' I just find pages detailing the exchange fees.
How does an exchange work? ie. is there an intermediate currency like USDT? Does it go Ether --> USDT --> XRP?
No, Bittrex/Poloniex are centralized. These currencies never leave their platform when trading between them, unless you withdraw them from their site, ( that's when they enter the network).
So every transaction a user does on their platform, let it be BTC -> XRP , is offchain, and you're completely dependant on ( in this case) bittrex, to give you the right amount of ripple.
But i assume that they are indeed using the maker/trader fees to pay for the on-chain transactions and their servers.