This is a surprisingly complicated question that encompasses many moving parts. Without knowing exactly what your objectives are, it's a bit difficult to offer concrete advice, so I'll provide some general comments below.
Mechanically, you earn the total return when you buy and hold a real bond or a bond ETF. By contrast, bond futures are financed instruments, so you earn the excess return (total return MINUS financing cost). So all else equal, futures will ALWAYS perform worse than a bond, because of the drag from the financing cost (unless the financing rate is negative, which is happening in some parts of the world). This may sound bad for futures, but it's actually really easy to address. When you buy futures, you save a lot of cash since the margin requirement is minimal; if you invest that cash and earn a return on it, and attribute the return back to the futures, you're basically back to earning the full total return again. This is known as "fully collateralizing" your futures. The question is, will the return you earn on cash be enough to offset futures' implied financing costs? If you're an institutional investor that's active in the repo market or can access enhanced cash products, it shouldn't be a problem at all. In fact, this is another source for performance enhancements!
The next question you have to ask is – what bond benchmark are you trying to track and how much tracking error can you tolerate? Let's say you're trying to track the Bloomoberg Barclays 7-10 yr Treasury Index, then buying IEF
is the simplest thing to do – the ETF holds a basket of 7-10yr Treasuries to mimic the return of the index; Blackrock charges a management fee for doing that, but at least you won't need to go out and buy every 7-10yr bond at the right proportion yourself. By contrast, using the TY futures (10-year Treasury note contract) will get you close from a duration perspective, but there will be some tracking errors. This is because the underlying of the TY contract is a basket of bonds with maturities ranging from 6.5 years to 10 years. Instead of tracking all of these bonds, the TY contract tracks the cheapest to deliver in this basket, and this cheapest-to-deliver issue can change around. So not only are you not tracking the 7-10yr sector perfectly (which may or may not be an issue), you're exposing yourself to a ton of intricacies specific to bond futures. You'll also need to roll your futures contracts every three months. If you forget to roll them, you may find yourself in a position to take delivery of a large amount of cash bonds that you might not actually want.
On the other hand, if your benchmark is the full Bloomberg Barclays US Treasury Index, using ETF is no longer a great idea. You need several ETFs (SHY, IEF, TLT, maybe others) and weigh them according to benchmark weights, but SHY is super illiquid. By contrast, you can easily use a basket of futures (TU, FV, TY, US & WN) to strategically mirror the index's duration and maturity buckets; there are no liquidity issues with any of these contracts and the execution costs are minimal. As far as I'm aware, this is the most popular ways to get exposure to the Treasury index, and the tracking error is admirable.
If you're not trying to track any benchmark at all and you just need some duration risk, then it almost doesn't matter. You'd evaluate how much duration risk you need and choose the cheapest implementation for the position size you have in mind.
Finally, some broad comments on the relative performance, based on replicating the US Treasury Index using either (fully collateralized) bond futures or ETFs. Before the financial crisis, the futures portfolio had a fairly consistent edge. This is because the switch option in futures was routined overpriced, making futures contracts too cheap relative to fair values. So you got a boost from "selling" that expensive option to shorts. Nowadays the switch option is worthless, so this tidy outperformance has disappeared. How things will unfold in the next decade is anyone's guess, and probably not a bet to be taken by a long-term strategic investor.